我试图将以下大型int转换为javascript中的字符串,但没有成功.我的目标最终将以“582235852866076672”结束
var foo = 582235852866076672;
console.log(foo); // 582235852866076700
var baz = "'" + 582235852866076672 + "'";
console.log(baz); // '582235852866076700'
var emptyString = 582235852866076672+'';
console.log(emptyString); // 582235852866076700
var n = foo.toString();
console.log(n); // 582235852866076700
我认为数字太大而结果导致精度不足.
我把bigint library包括在内没有成功:
var bigint = require('bigint');
var bigintLibrary = bigint(582235852866076672).toString();
console.log(bigintLibrary); //582235852866076700
bigint库中的toSting方法指出:
“Print out the bigint instance in the requested base as a string.”
我感谢所有的帮助和评论.谢谢.
解决方法:
这是一个精确的问题 – 您回来的数字(582235852866076672)大于JavaScript中可表示的最大数字,即2 ^ 53或9007199254740992.