需要计算的数字长度大概在30位内, 超大数(超过Number.MAX_SAFE_INTEGER
)计算后会被转化为带e
的科学计数法(1.604938257160494e+23
)
请问如何让转化后的结果以字符串呈现(不带e
)呢?
需要计算的数字长度大概在30位内, 超大数(超过Number.MAX_SAFE_INTEGER
)计算后会被转化为带e
的科学计数法(1.604938257160494e+23
)
请问如何让转化后的结果以字符串呈现(不带e
)呢?
可以考虑BigInt
去做,但是要处理一下小数。
> (BigInt(123456789012345678901234) * BigInt(13) / BigInt(10)).toString()
< '160493825716049391543910'
// -----
> 123456789012345678901234n * 13n / 10n
< 160493825716049382571604n
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
mathjs