我可以用16位数和2分数值将数字转换为数字?
目前,当我尝试将Number('1234567890123456.12')
转换为1234567890123456
时。分数值将消失。
我只是想确认不使用任何第三方lib我可以将此字符串转换为数字吗?
答案 0 :(得分:4)
不幸的是没有。 Javascript使用双精度浮点数表示它的数字。在16位数字处,它只能存储整数分量而不能存储小数点后的部分。您将需要一个bignum库来使用此值。
编辑:供参考,你可以在JavaScript中使用的最大整数是9,007,199,254,740,991
EDIT2:感谢Jeremy,你可以使用像bignumberJS这样的库。
答案 1 :(得分:1)
你的号码有太多的算法,我已经创建了一个例子,它在数组的第一个位置模拟javascript中可能的最大长度。
var nums = [
"12345678910111.12",
"1.5323",
"-42.7789"
];
nums.forEach(function(n) {
console.log(parseFloat(n).toFixed(2));
});
答案 2 :(得分:0)
我遇到了将 18 位字符串数字转换为数字的问题。它是将 16 位数字后的所有数字转换为 0。我已经申请了下面的代码。它对我来说很好。
[{"id":${id},"name":"${name}"}]