JavaScript-js相加问题
a = 2300.05;
b = 800.05;
c = 3100.1000000000004;
total = a+b;
total2 = c - b;
alert(total);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
a = 2300.05;
b = 800.05;
c = 3100.1000000000004;
total = a+b;
total2 = c - b;
alert(total);
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
js中的所有数字都是双精度浮点数,这是由 IEEE754 标准制定的64位编码数字 —— 即“doubles”。
尽管64位的精度已经相当高,但是双精度浮点数也只能表示一组有限的数字,而不能表示所有的实数集。浮点运算只能产生近似的结果,四舍五入到最接近的实数。
当你执行一系列运算的时候,随着舍入误差的积累,运算结果会越来越不精确。
解决方法是尽可能的使用整数值运算,因为整数在表示时不需要舍入。对于整数运算,不用担心舍入误差,但是整数运算只适用于 -pow(2,53) ~ pow(2,53) 的整数。
因为这是浮点类型的,包括若类型的 php 中也是这种情况呢,上学的时候就学过了。你可以试着使用一个函数求 四舍五入。