gpt4 book ai didi

javascript - 将 Double 转换为 String 而不会在 javascript 中丢失精度

转载 作者:行者123 更新时间:2023-11-29 18:25:35 25 4
gpt4 key购买 nike

我想在不损失任何精度的情况下将浮点变量转换为字符串。

即我希望该字符串具有与我的浮点变量包含的信息相同的信息,因为我将输出用于进一步处理(即使这意味着该字符串将非常长且可读)。

说得更清楚一点,我想要循环转换的函数

var dA = 323423.23423423e4;
var sA = toString(dA);
var dnA = toDouble(sA);

我希望 dnA 和 dA 相等

谢谢

PS:互联网上的资源通常会讨论如何舍入字符串,但我还没有找到关于精确表示的信息。另外我对任意精度计算不感兴趣,我只需要 double 浮点运算。

最佳答案

让字符串算法进行字符串转换,然后使用 parseFloat 将其恢复为 float :

var dA = 323423.23423423e4;
var sA = dA + '';
var dnA = parseFloat(sA);

Here's a fiddle 看看它的实际效果。

注意: All JavaScript numbers are doubles ,因此您无需区分 double 和 float 。因此,您唯一需要担心精度损失的地方是第一行。例如,如果您在第一行输入了 var dA = 987654321.0123456789,那么它将等同于 var dA = 987654321.01234567,而 dA 仍然最后等于 dnA

关于javascript - 将 Double 转换为 String 而不会在 javascript 中丢失精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13767088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com