JavaScript-从字符串转换为数字会添加尾随的0

JavaScript - Converting from string to number adds trailing 0s

本文关键字:添加 数字 字符串 转换 JavaScript-      更新时间:2023-09-26

所以我一直在尝试将以下格式的字符串转换为数字:

"20150910095820526"

我尝试过一元运算符,parseInt,parseFloat,但我最终总是得到这样的结果:

1017219000

代码尝试:

element = parseFloat(element);
element = parseInt(element, 10);
element = ~~element;

完整代码:

    $scope.episodes.forEach(function(element) {
      console.log(parseFloat(element));
    }, this);

我做错了什么?感谢

您试图解析的数字大于javascript中数字的最大大小(9007199254740991)。因此,最好将其表示为字符串。如果需要对该值执行数学运算,可以使用诸如strint之类的库。

Strint会让你做这样的事情:

var strint = require("./strint");
strint.add("20150910095820526", "1")
'20150910095820527'

为什么假设一个这么大的数字可以用JavaScript表示?

阅读更多:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER