【发布时间】:2021-02-04 13:41:07
【问题描述】:
我需要处理以科学记数法书写的数字。我知道目前 JS 只对大数和小数使用科学计数法。
例子:
1000000000000000000000 === 1e+21
0.0000001 === 1e-7
我希望每个数字都使用相同的符号。
例子:
10 应该是1e+1
我已经尝试过使用.toExponential的方法,但是数字被转换为string。
我需要保留number 类型。
有什么建议吗?
【问题讨论】:
-
数是数是数;无论值如何,内部表示都是一致的。
-
您不能拥有一个数字格式的值。
100将与1e2具有相同的值,因为它们只有一个表示形式。数值没有附加显示信息。引擎只会将大数字显示为指数,但这完全是可视化的——这不是内存中保存的数值。它始终是 64 位 IEEE 754 浮点表示。如果需要特定格式的值,则需要使用字符串。
标签: javascript numbers scientific-notation