表达式之谜---找零时刻

xiaoxiao2022-06-12  37

1. 二进制浮点对于货币计算非常不合适。

2. 在需要精确答案的地方,要避免使用float和double;对于货币计算,要使用int,lang,BigDecimal。

 

代码:

public class Change { /** * 找零时刻 */ public static void main(String[] args) { System.out.println(2.00-1.10); } }

 

输出:0.8999999999999999

 问题在于:1.10这个数字不能被精确表示为一个double,只能被表示为最 接近他的double值。浮点运算在一个范围很广的值域上提供了一个很好的近似,但是通常不能产生精确的结果。

 

相关资源:Java解惑[高清].pdf
转载请注明原文地址: https://www.6miu.com/read-4933002.html

最新回复(0)