首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Javascript中精确地浮动数字?

如何在Javascript中精确地浮动数字?
EN

Stack Overflow用户
提问于 2019-03-30 17:54:14
回答 2查看 55关注 0票数 1

大家好,我正在处理关于javascript天文计算的文件,所以我需要更高的精度。我对每一行都有很多操作,我希望结果更精确(逗号后面的小数点也是10或20)。

在JavaScript中,如果我不声明十进制数(例如使用.ToFixed(n)),那么在计算过程中,语言在逗号之后有多少位置?

例如:

代码语言:javascript
复制
var a= 1.123456789*3.5; // result 3.9320987615
var b= a/0.321;
var c= b*a;

// c => 48.16635722800571

这将是结果?就像对javascript的每个变量使用所有十进制后的逗号,近似吗?。

在其他问题中,为什么用户建议使用decimal.js或其他库?

如果我的问题看起来很愚蠢,我很抱歉,但对我来说很重要。我希望你能帮助我。

对不起我的英语!

EN

回答 2

Stack Overflow用户

发布于 2019-03-30 19:12:38

Javascript使用IEEE-754双精度,这意味着它只计算15位小数位的精度,就像它被切断一样。如果您需要更高的精度,则必须使用decimal.js或其他类似的库。其他问题推荐decimal.js或其他库是因为它很容易放到您的程序中,并且可以提供您想要的精确性。

默认情况下,它没有在计算机中实现的原因是,计算机要计算到20位而不是15位数字需要付出更多的努力,因为计算机构建时只计算到15位小数。如果你想更多地阅读它,我建议你在维基百科上阅读任意精度算法

票数 2
EN

Stack Overflow用户

发布于 2019-03-30 18:09:16

仅仅因为toFixed()方法将数字转换为字符串,保持指定的小数。因此,返回的值将是字符串而不是数字。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55434187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档