【发布时间】:2012-10-06 19:01:29
【问题描述】:
我正在使用 Math.round 对数字进行四舍五入,由于某种原因,它在末尾添加了奇怪数量的 0,这些 0 不应该存在。这是我的代码:
return Math.round($digit * 1000) / 1000;
我希望数字有 3 个小数点
示例:
Math.round(29.469 * 1000) / 1000 = returns this value: 29.469000000000023
似乎无法弄清楚为什么。 有没有不同的方法将小数四舍五入到某个小数点?我需要 3 个小数点。或者也许修剪第三位小数后的所有内容?这将是完美的取返回的数字并在小数点后三位修剪所有内容。
【问题讨论】:
-
为了防止定义错误,您可以转换为字符串,然后取子字符串。
-
我如何修剪字符串中小数点后第三位的所有内容
-
Math.round(29.469)在什么浏览器中返回29.469000000000023? -
最接近 29.469 的可表示 IEEE
double是 29.469000000000000119371179607696831226348876953125。 -
我无法重现这个 - jsfiddle.net/daK3v
标签: javascript floating-point rounding digits decimal