javascript - 如何修复 javascript 和 c# 上发生的计算错误

标签 javascript c#-4.0

我正在使用 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/

相关文章:

c#-4.0 - 你如何读取windows服务的控制台输出?

javascript - 我有 3 个 Controller 从数据库获取数据列表并将其显示在下拉列表中,但是当选择它时,它不会获取列表的选定值

javascript - onMouseEnter 在 antd 表格的某个单元格上

c# - WPF - 根据时间动画进度条

wpf - WPf 中 Intellisense 支持的 TextBox

c# - 如何获取最后插入的记录

javascript - jquery,javascript 在 Bootstrap 中不工作

javascript - 当我在 Javascript 中的 .exec() 结果上使用 .index 时,它是如何工作的?

javascript - PHP Ajax MySQL 表行删除

c# - 如何在保存到磁盘之前压缩文件?