就是我直接
注意看:我直接System.out.println(10.0/3.0)
为什么运算的结果为3.33333335啊有人注意到没有。。
自己算并且计算器给出的运算结果不应该是3.3333333吗?
明白会丢失小数点但小数点无限为3的话,我就算四舍五入,那也应该是3.333333333吧。为啥.5
希望有牛人解释一波。
而且我就要求保留小数3.33333333怎么办??
初学者的除法问题求详细的解答!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- CSDN专家-sinJack 2023-08-14 18:13关注
由于浮点数的内部表示方式是二进制的,而不是十进制的,所以在进行浮点数运算时,可能会存在舍入误差。
10除以3的结果是一个无限循环的十进制小数3.333333333333333...。然而,由于浮点数的精度有限,Java只能表示一个近似的值。因此,结果被舍入为3.3333335,而不是3.3333334。
这种舍入误差是浮点数运算中常见的现象,特别是在进行复杂的数学计算时。
Java 中处理精度丢失,常用BigDecimal类来处理精度丢失问题,提供了基础的四则运算等方法。本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用