什么决定Number.prototype.toString(10)的位数?

时间:2019-06-05 22:07:19

标签: javascript floating-point precision

在各种JS引擎中运行Math.PI.toString(10)似乎始终输出"3.141592653589793",该数字有16位有效数字。其他一些具有16位有效数字的示例,已在Chrome中进行了测试:

(Math.PI * 10).toString(10); // "31.41592653589793"
(Math.PI * 100).toString(10); // "314.1592653589793"
(Math.PI / 10000000).toString(10); // "3.141592653589793e-7"

但是:

(Math.PI * 10000).toString(10); // "31415.926535897932"
(Math.PI / 100).toString(10); // "0.031415926535897934"

这是标准化的还是由每个引擎决定的?标准怎么说?

0 个答案:

没有答案