解析大十进制数时,javascript任意舍入并丢失一些小数位。
小小的'数字,一切都按预期发生:
var str = '1.1234567899'; -> undefined
console.log( Number(str) ); -> 1.1234567899
有一个'大'数字,它四舍五入,一些数据丢失:
var str = '123456789.1234567899'; -> undefined
console.log( Number(str) ); -> 123456789.12345679
注意输入和输出之间的差异: 123456789.1234567 899!== 123456789.1234567 9
我试图理解它为什么会发生。任何人吗?