我们都知道+, Number()parseInt()可以将字符串转换为整数。
但就我而言,我的结果很奇怪。
我需要将字符串'6145390195186705543'转换为数字。

let str = '6145390195186705543';
let number = +str; // 6145390195186705000, but should be: 6145390195186705543

有人可以解释为什么以及如何解决吗?

最佳答案

您的电话号码在Number.MAX_SAFE_INTEGER(9,007,199,254,740,991)之上,这意味着js可能很难很好地表示它。

More information

关于javascript - 为什么我不能在不损失JS精度的情况下将字符串转换为数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51984393/

10-11 15:53