java中处理高精度大数字的类 BigDecimal, BigInteger

来源:互联网 发布:python kmeans 编辑:程序博客网 时间:2024/06/05 17:42

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类可以处理高精度,大数字问题

阅读全文
0 0
原创粉丝点击