将大数字从字符串转换为数字

Converting big numbers from string to number

我正在尝试将 big/very 长数字字符串转换为数字:

+'-000000098765432112345.67898765432100000';
'-000000098765432112345.67898765432100000'*1;
parseFloat('-000000098765432112345.67898765432100000', 10);

所有这些测试将输出 -98765432112345.67 而不是预期的 -98765432112345.678987654321

为什么会这样?

注意:提议的重复解决方案没有回答我的问题,它只是给出了问题的解决方案。

大数字的常见原因是溢出:https://en.wikipedia.org/wiki/Arithmetic_overflow.

这回答了类似的问题 'at what point will overflow occur in Javascript':What is JavaScript's highest integer value that a Number can go to without losing precision?