我正在使用 mvc3 和 c# 语言,但我陷入了计算问题。这里我使用 double 类型变量来表示 3 个属性 Qty、Cost 和 Totalprice
这里totalprice=数量*成本;
我有一个要求,我想获得不带小数的产品总价。例如,如果 qty=14.3 ,则成本=15。然后在 java script/C# 上我将得到总价 214.5
但我需要 214。为了解决这个问题,我使用 Math.Floor(214.5) 得到 214。但是当 Qty=18.9 且 cost=1500 时。然后在 javascript 或 C# 乘法中,我得到总价=28349.999999999996,正确的结果应该是 28350。请帮助我找到解决方案,我将准确地得到两个结果
最佳答案
c#中根据你的情况选择。
-3 -2 -1 0 1 2 3
+--|------+---------+----|----+--|------+----|----+-------|-+
a b c d e
a=-2.7 b=-0.5 c=0.3 d=1.5 e=2.8
====== ====== ===== ===== =====
Floor -3 -1 0 1 2
Ceiling -2 0 1 2 3
Truncate -2 0 0 1 2
Round (ToEven) -3 0 0 2 3
Round (AwayFromZero) -3 -1 0 2 3
在 javascript 中这样做:
var qty=qty.toFixed(1);
var cost=cost.toFixed(1);
var totalprice=Math.round(qty*cost);
关于javascript - 如何修复 javascript 和 c# 上发生的计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332622/