繁体   English   中英

Math.round麻烦

[英]Math.round troubles

我想要舍入到两个小数点,所以我自然会使用:

Double number = Math.round(number*100.0)/100.0 

但我最终得到了很长的输出,有很多小数点。 所以我为Math.round()尝试了不同的输入,类似于我需要使用的并且发现了

Math.round(8.3391700279483738E17) = 833917002794837376
Math.round(8.3391700279483738E17 * 100) / 100.0 = 9.223372036854776E16

这对任何人都有意义吗?

你的代码似乎是正确的

Math.round(8.3391700279483738E17)= 833917002794837376

有意义的是8.3391700279483738E17在数学上意味着8.3391700279483738 * 10 ^ 17或

8339170027948373800而不是十进制数。 边际差异小是由于Delta误差造成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM