当我使用固定符号键入大数字时,JS将其更改为科学记数法。为什么?难道只是因为难以读取大数字,或者它与存储大数字的困难有什么关系?
答案 0 :(得分:1)
ECMA规范定义了如何将数字转换为字符串(这是您唯一能够看到科学记数法的时间)。
规范的相关部分在这里:https://www.ecma-international.org/ecma-262/8.0/index.html#sec-tostring-applied-to-the-number-type
据我所知,科学记数法的数字大于10 ^ 21或小于10 ^ -6
答案 1 :(得分:1)
在Javascript中,数字始终存储为浮点数并遵循IEEE 754's format。至于显示数字,Javascript使用Dancrumb提到的ECMAScript显示算法,该算法定义何时开始以科学记数法格式呈现数字。
如果您想避免使用大数字的科学记数法,可以通过以下方式讨论这些问题:How to avoid scientific notation for large numbers in JavaScript?。