为什么 JS 使用科学(指数)记数法?
Why JS uses scientific (exponential) notation?
当我使用固定记数法键入大数时,JS 将其更改为科学记数法。为什么?仅仅是因为难以读取大量数字还是与在内存中存储大量数字的困难有某种关系?
ECMA 规范定义了如何将数字转换为字符串(这是您唯一会看到科学记数法的情况)。
规范的相关部分在这里:https://www.ecma-international.org/ecma-262/8.0/index.html#sec-tostring-applied-to-the-number-type
据我所知,科学记数法适用于大于 10^21 或小于 10^-6 的数字
在Javascript中,数字总是存储为浮点数,并跟在IEEE 754's format之后。至于显示数字,Javascript使用了Dancrumb提到的ECMAScript显示算法,它定义了何时开始以科学计数格式呈现数字。
如果您想避免对大数使用科学记数法,有一些方法可以解决这个问题 post:How to avoid scientific notation for large numbers in JavaScript?。
当我使用固定记数法键入大数时,JS 将其更改为科学记数法。为什么?仅仅是因为难以读取大量数字还是与在内存中存储大量数字的困难有某种关系?
ECMA 规范定义了如何将数字转换为字符串(这是您唯一会看到科学记数法的情况)。
规范的相关部分在这里:https://www.ecma-international.org/ecma-262/8.0/index.html#sec-tostring-applied-to-the-number-type
据我所知,科学记数法适用于大于 10^21 或小于 10^-6 的数字
在Javascript中,数字总是存储为浮点数,并跟在IEEE 754's format之后。至于显示数字,Javascript使用了Dancrumb提到的ECMAScript显示算法,它定义了何时开始以科学计数格式呈现数字。
如果您想避免对大数使用科学记数法,有一些方法可以解决这个问题 post:How to avoid scientific notation for large numbers in JavaScript?。