0

我不确定我的数学,正在寻找确认。

我想在数据库中获取两条记录并将它们的值组合成一个平均值并将该值保存在另一个表中。我对数据库操作没有任何问题。我只需要确保我的数学是正确的。

注意,税率在 SQL server 中存储为十进制值,因此 5.5% 存储为 5.50(双精度型)

例如:

Record         Quantity         Unit Cost         Tax Rate    
Record 1:        10             $10.00              5%    
Record 2:        10             $10.00             10%

我目前在做什么:

我将每条记录的总组合价值(单位成本 * 数量)组合在一起

(10*$10.00) + (10*$10.00) = $200

然后我得到包括税的总金额

(100*1.05) + (100*1.1) = 215 美元

然后我将总含税金额除以总价值

215 / 200 = 1.075

我去掉 1 然后乘以 100 得到整个税率

(1.075 - 1) * 100 = 7.5%

全部一起:

NewAveragedTaxRate = (((((Quanity1 * Unit1) * (tax1 / 100 + 1)) + ((Quanity2 * Unit2) * (tax2 / 100 + 1))) / ((Quanity1 * Unit1) + (Quanity2 * Unit2))) -1) * 100 

所以我认为我的税率是7.5%

问题:

  1. 这是对的吗,等式有效,但这是平均税率/百分比的正确方法吗?
  2. 其次,有没有办法可以简化它,我觉得我把它复杂化了。
4

1 回答 1

1

是的,最后两个等式是多余的。只需做(GrandTotal - GrossTotal)/ GrossTotal。在本例中,(215 - 200) / 200 = 0.075 = 7.5%。

于 2013-09-28T17:35:42.397 回答