我在使用数字时遇到问题。 我有来自https://github.com/assisrafael/angular-input-masks的ui-money-mask指令的数字类型字段,我可以输入2位小数的数字。 但我想存储那些没有分隔符的数字,我的意思是:
123.12 - > 12312
1111.11 - > 111111等。
问题在于,当我尝试将它们多次删除100以删除分隔符时,我会得到错误的结果,例如: 1111.11 * 100 = 111110.99999999999但我想要111111。
我该如何解决这个问题?
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用
Math.round(1111.11 * 100)
答案 2 :(得分:0)
您可以使用toFixed或Math.round
来完成var result = parseInt(parseFloat(1111.11).toFixed(0));
注意:toFixed返回字符串需要再次将其转换为整数
或强>
var result = Math.round(1111.11 * 100)
答案 3 :(得分:0)
这是一个经典的浮点运算问题。在你的情况下,我认为最简单的解决方案只是圆形:
Math.round(1111.11 * 100)
它的工作方式与toFixed(0)
相同,但不会返回字符串。