JavaScript-js相加问题

发布于 2017-07-14 03:42:56 字数 125 浏览 1228 评论 2

a = 2300.05;
b = 800.05;
c = 3100.1000000000004;

total = a+b;
total2 = c - b;

alert(total);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾兮 2017-10-24 22:54:16

js中的所有数字都是双精度浮点数,这是由 IEEE754 标准制定的64位编码数字 —— 即“doubles”。

尽管64位的精度已经相当高,但是双精度浮点数也只能表示一组有限的数字,而不能表示所有的实数集。浮点运算只能产生近似的结果,四舍五入到最接近的实数。

当你执行一系列运算的时候,随着舍入误差的积累,运算结果会越来越不精确。

解决方法是尽可能的使用整数值运算,因为整数在表示时不需要舍入。对于整数运算,不用担心舍入误差,但是整数运算只适用于 -pow(2,53) ~ pow(2,53) 的整数。

想挽留 2017-07-26 14:44:58

因为这是浮点类型的,包括若类型的 php 中也是这种情况呢,上学的时候就学过了。你可以试着使用一个函数求 四舍五入。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文