var a = 123*1e20;
打印 a 的值为:1.23e+22
有没有可能得到一个 "12300000000000000000000" 的字串值?
打印 a 的值为:1.23e+22
有没有可能得到一个 "12300000000000000000000" 的字串值?
1
lemonnTr Nov 14, 2021
BigInt 了解一下
|
2
yuuko Nov 14, 2021 (12300000000000000000000).toLocaleString('fullwide', {useGrouping:false})
|
3
yuuko Nov 14, 2021
toLocaleString 还是有位数限制的,大数建议还是用像一楼说的 BigNumber 之类的处理
|
4
momomirage Nov 14, 2021
这个数字已经远大于 Number.MAX_SAFE_INTEGER 了
精确表示需要 BigInt 没有也可以字符串 |
5
nlysh007 Nov 14, 2021 BigInt(123)*BigInt(1e20)+""
|
6
wanguorui123 Nov 14, 2021
Math.js
|
8
runze Nov 14, 2021 @61162833
(12300000000000000000001).toLocaleString('fullwide', {useGrouping:false}) |
9
MonikaCeng Nov 14, 2021 via Android
bn.js
|