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

时间:2015-12-15 15:25:51

标签: javascript angularjs string type-conversion

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

“20150910095820526”

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

1017219000

代码尝试:

element = parseFloat(element);

element = parseInt(element, 10);

element = ~~element;

完整代码:

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

我做错了什么?感谢

2 个答案:

答案 0 :(得分:2)

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

Strint会让你做这样的事情:

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

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

'20150910095820527'

答案 1 :(得分:-2)

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

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