当前位置:首页 > Java API 与类库手册 > 正文

Java优学网double类型教程:从浮点精度陷阱到BigDecimal精确计算

double price = 19.99; double distance = 3.5e10; // 科学计数法表示35亿

System.out.println(0.1 + 0.2); // 输出0.30000000000000004 System.out.println(1.0 - 0.9); // 输出0.09999999999999998 System.out.println(0.3 * 3); // 输出0.8999999999999999

// 推荐的做法 BigDecimal a = new BigDecimal("0.1"); BigDecimal b = new BigDecimal("0.2"); BigDecimal result = a.add(b); System.out.println(result); // 精确输出0.3

double radius = 5.0; double area = Math.PI radius radius; System.out.println(area); // 输出78.53981633974483

Java优学网double类型教程:从浮点精度陷阱到BigDecimal精确计算

你可能想看:

相关文章:

文章已关闭评论!