java中处理有些大数字,还有要求高精度时我们使用BigDecimal,BigInteger类比较方便;
看下面这个代码;
package com.处理大精度大数字; import java.math.BigDecimal; import java.math.BigInteger; public class Bignumeber { public static void main(String[] args) { System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32); System.out.println(1.015 * 100); System.out.println(0.09/0.01); // BigDecimal b1=new BigDecimal("0.09"); // BigDecimal b2=new BigDecimal("0.01"); // BigDecimal b1=new BigDecimal(0.09); // BigDecimal b2=new BigDecimal(0.01); BigDecimal b1=BigDecimal.valueOf(0.09); BigDecimal b2=BigDecimal.valueOf(0.01); double b4=b1.add(b2).doubleValue(); System.out.println(b4); BigDecimal b3=b1.add(b2); System.out.println(b3); BigDecimal c1=new BigDecimal(1.0); BigDecimal c2=BigDecimal.valueOf(0.32); BigDecimal c3=c1.subtract(c2); System.out.println(c3); BigDecimal d1=BigDecimal.valueOf(1.015); BigDecimal d2=BigDecimal.valueOf(100); BigDecimal d3=d1.multiply(d2); System.out.println(d3); BigDecimal f4=b1.divide(b2); System.out.println(f4); BigInteger g1=new BigInteger("122223333333332233333333"); BigInteger g2=new BigInteger("112232333333333333434343"); BigInteger g3=g1.add(g2); BigInteger g4=g1.subtract(g2); BigInteger g5=g1.multiply(g2); BigInteger g6=g1.divide(g2); System.out.println(g3); System.out.println(g4); System.out.println(g5); System.out.println(g6); } }
输出结果为:
0.09999999999999999 0.6799999999999999 101.49999999999999 9.0 0.1 0.10 0.68 101.500 9 234455666666665566767676 9990999999998899898990 13717409887777654334556811859222111111588855219 1
使用了了Big类可以处理高精度,大数字问题