为啥小于 0.1 和大于 1e-7 的数字会转换为科学计数法?

Posted

技术标签:

【中文标题】为啥小于 0.1 和大于 1e-7 的数字会转换为科学计数法?【英文标题】:Why does a number less than 0.1 and greater than 1e-7 get converted in scientific notation?为什么小于 0.1 和大于 1e-7 的数字会转换为科学计数法? 【发布时间】:2015-04-08 03:51:29 【问题描述】:
(0.1).toString() //0.1
(0.000001).toString() //0.000001
(0.000009).toString() //0.000009

为什么上面的数字都能正常转换,但是

(0.0000001).toString() //1e-7
(0.0000008).toString() //8e-7
(0.0000000000089).toString() // 8.9e-12

这些以科学计数法显示?

【问题讨论】:

【参考方案1】:

这是因为规范(ecma-262)指定了它。

9.8.1 ToString Applied to the Number Type

【讨论】:

以上是关于为啥小于 0.1 和大于 1e-7 的数字会转换为科学计数法?的主要内容,如果未能解决你的问题,请参考以下文章

PYTHON 中判断大于小于时为啥在判断输入数字大于需要的数字时其之后的代码无法运行?

测试用例设计方法

python怎么实现0到100的范围和大于100,小于0

HTML-实体(转义字符)

mysql联合索引有大于小于能用到索引吗

为啥 1 // 0.1 == 9.0? [复制]