【发布时间】:2011-01-28 17:02:08
【问题描述】:
众所周知,因为它是关于 SO 的最受关注的话题之一,所以我遇到了舍入错误的问题(这实际上不是错误,我很清楚)。 我将举例说明我有哪些可能的数字以及我希望能够获得哪些输入,而不是解释我的观点:
我们说
var a = 15 * 1e-9;
alert(a)
输出
1.5000000000000002e-8
我希望能够获得1.5e-8,但我不能只乘以 10e8、四舍五入并除以 10e8,因为我不知道它是 e-8 还是 e-45 或其他任何值。
所以基本上我希望能够获得1.5000002 部分,应用toFixed(3) 并放回指数部分。
我可以转换成一个字符串并解析,但它似乎不正确......
有什么想法吗?
(如果您觉得这是许多重复问题之一,我提前道歉,但我找不到类似的问题,只有相关的问题)
盖尔
【问题讨论】:
标签: javascript floating-point rounding scientific-notation rounding-error