我认为现在是时候对我正在处理的javascript获得第二意见。
我正在尝试创建一个计算器来告诉人们是否可以通过使用订阅等来节省资金。计算本身是通过来自客户端的som输入和来自Umbraco CMS的一些预先评估来完成的。
我现在从计算器得到的结果是“正确的”,因为实际数字是正确的,但其中有太多的零。
可在此处找到计算器:my calculator
我正在使用的测试数据如下:
给出输出:712800.0000000001
我试图将此除以100,当然,它只是将逗号/点向左移动了两步。仍然存在所有那些零。
非常感谢任何帮助/提示! : - )
提前致谢,
博
P.S。我正在寻找的结果将是7128.00
答案 0 :(得分:10)
我相信你想在整数上调用固定。
(712800.00000001/100).toFixed(2)
"7128.00"
它会将您的号码更改为字符串,但如果用于显示目的则应该没问题。
答案 1 :(得分:2)
您可以这样做:
value.toFixed(2);
这会将所有尾随小数舍入为2。
答案 2 :(得分:0)
你可能想要使用这样的round()方法:
var val = Math.round(val*100)/100
这将为您提供所需的2位小数位精度,并在需要时进行舍入。
答案 3 :(得分:0)
答案 4 :(得分:0)
我怀疑您遇到了浮点舍入错误( Is floating point math broken?)。尝试Is there a definitive solution to javascript floating-point errors?中提供的解决方案。