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

JavaScript-从字符串转换为数字会添加尾随的0,javascript,angularjs,string,type-conversion,Javascript,Angularjs,String,Type Conversion,因此,我一直在尝试将以下格式的字符串转换为数字: “20150910095820526” 我尝试了一元运算符,parseInt,parseFloat,但我总是得到这样的结果: var strint = require("./strint"); strint.add("20150910095820526", "1") '20150910095820527' 1017219000 代码尝试: element = parseFloat(element); element = parseInt(

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

“20150910095820526”

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

var strint = require("./strint");

strint.add("20150910095820526", "1")

'20150910095820527'
1017219000

代码尝试:

element = parseFloat(element);

element = parseInt(element, 10);

element = ~~element;
完整代码:

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

我做错了什么?谢谢

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

阅读更多:

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

Strint会让你做这样的事情:

var strint = require("./strint");

strint.add("20150910095820526", "1")

'20150910095820527'

粘贴在您试图使用的代码中“数字”看起来像一个日期:
2015-09-10 09:58.20526
这只是巧合吗?顺便说一下
20150910095820526
在JS中不能表示为数字什么是
元素
?粘贴完整的代码。例如,我将
parseInt(“20150910095820526”)
粘贴到控制台中,得到了
20150910095820530
(这是由于浮点数字的精度损失造成的)如何得到结果
1017219000
?该页面将
9007199254740991
列为最大的数字,它小于
20150910095820526
20150910095820526>9007199254740991
。我不知道该怎么说:p这会使你的“答案”无效。这并不能解决老年退休金问题。您已确认
20150910095820526
太大,无法在不损失精度的情况下表示。