二进制运算误差问题
二進制運算誤差
public void fun2() {System.out.println(2.0 - 1.1);// 0.8999999999999999 }/*** 1000的階乘*/public void fun3() {BigInteger sum = BigInteger.valueOf(1);for (int i = 1; i <= 1000; i++) {BigInteger bi = BigInteger.valueOf(i);sum = sum.multiply(bi);}System.out.println(sum); }/*** BigDecimal 可以處理二進行運算導致的誤差*/public void fun4() {/** 1. 創建BigDecimal對象時,必須使用String構造器!*/BigDecimal d1 = new BigDecimal("2.0");BigDecimal d2 = new BigDecimal("1.1");BigDecimal d3 = d1.subtract(d2);System.out.println(d3); }BigInteger
BigDecimal
http://blog.csdn.net/axi295309066/article/details/47448431?locationNum=2&fps=1#t24
總結
- 上一篇: Javascript与正则表达式
- 下一篇: 在线支付