这里我的网络应用程序有问题(在 chrome 和 firefox 和 nodejs 上测试):
当我运行 (1.2 - 1) 它返回 0.199999999999999996 作为结果。
有谁知道为什么?
这里我的网络应用程序有问题(在 chrome 和 firefox 和 nodejs 上测试):
当我运行 (1.2 - 1) 它返回 0.199999999999999996 作为结果。
有谁知道为什么?
你可以解决你的问题: (1.2 - 1).toFixed(1) * 1 // 0.2
您可以使用 javascript 的 toFixed 方法更详细:
数法
在 JavaScript 1.5 中实现
ECMAScript 版 ECMAScript 第 3 版
句法
number.toFixed([数字])
范围
小数点 后出现的位数;这可以是 0 到 20 之间的值,包括 0 和 20,并且实现可以选择支持更大范围的值。如果省略此参数,则将其视为 0。
退货
数字的字符串表示形式,不使用指数表示法,并且在小数点后具有精确的数字。必要时对数字进行四舍五入,必要时用零填充小数部分,使其具有指定的长度。如果 number 大于 1e+21,此方法只需调用 Number.toString() 并以指数表示法返回一个字符串。
投掷
RangeError 如果数字太小或太大。介于 0 和 20 之间的值(包括 0 和 20)不会导致 RangeError。实现也可以支持更大或更小的值。TypeError 如果在不是数字的对象上调用此方法。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toFixed