字符串到数字在JavaScript中返回错误的结果

字符串到数字在JavaScript中返回错误的结果,javascript,Javascript,有人能解释为什么将字符串“948226952292454401”转换为数字会失败吗 所有JS方法,如Number、parseInt、Math.floor等 它总是返回948226952292454400 var string=“948226952292454401” console.log(数字(字符串)) console.log(parseInt(字符串)) console.log(parseFloat(string)) console.log(数学层(字符串)) console.log(M

有人能解释为什么将字符串“948226952292454401”转换为数字会失败吗 所有JS方法,如Number、parseInt、Math.floor等

它总是返回948226952292454400

var string=“948226952292454401”
console.log(数字(字符串))
console.log(parseInt(字符串))
console.log(parseFloat(string))
console.log(数学层(字符串))
console.log(Math.ceil(字符串))

console.log(+string)
最大值JavaScript可以处理的最大可能正数。

948226952292454401>Number.Max\u SAFE\u INTEGER//true
JS最近添加的值在这里可能也很有用。它不应该返回NaN吗?@rx2347它不是一个“非数字”值。这绝对是一个数字。这只是不精确。