float和double不适合用作计算商品金额的原因分析
发布时间
阅读量:
阅读量
先看现象
在处理诸如float或double这类浮点型数据时,常常会出现一些令人困惑的情况,或许大家并未留意,这里列举几个较为常见的实例:
典型现象(一):条件判断结果与预期不符
System.out.println( 1f == 0.9999999f ); // 打印:false
System.out.println( 1f == 0.99999999f ); // 打印:true 纳尼?
典型现象(二):数据转换超出预期范围
float f = 1.1f;
double d = (double) f;
System.out.println(f); // 打印:1.1
System.out.println(d); // 打印:1.100000023841858 纳尼?
典型现象(三):基础运算超出预期表现
System.out.println( 0.2 + 0.7 );
// 打印:0.8999999999999999 纳尼?
**典型
全部评论 (0)
还没有任何评论哟~
