BigInteger类和BigDecemal

版权声明:原创内容是本人学习总结,仅限学习使用,禁止用于其他用途。如有错误和不足,欢迎评论指正补充。 https://blog.csdn.net/qian_qian_123/article/details/82379365

9. BigInteger类和BigDecemal

java中针对大数的处理,提供了大整数和大小数

BigInteger叫做大整数,使用如下:

import java.math.BigDecimal;
import java.math.BigInteger;

public class Test2 {
	public static void main(String[] args) {
		BigInteger bi1 = new BigInteger("2343243535353");
		BigInteger bi2 = new BigInteger("1111111111111");
		
		System.out.println("加法运算:" + bi1.add(bi2));
		System.out.println("减法运算:" + bi1.subtract(bi2));
		System.out.println("乘法运算:" + bi1.multiply(bi2));
		System.out.println("除法运算:" + bi1.divide(bi2));
		System.out.println("求余运算:" + bi1.remainder(bi2));
		
		// 大小数
		double d = 111231.5585;
		BigDecimal bd = new BigDecimal(d);
		System.out.println("加法运算:" + bd.add(bd));
		System.out.println("减法运算:" + bd.subtract(bd));
		System.out.println("乘法运算:" + bd.multiply(bd));
		System.out.println("除法运算:" + bd.divide(bd));
		System.out.println("求余运算:" + bd.remainder(bd));
	}
}

9.1 四舍五入

提供几种四舍五入的方法,如下:

import java.math.BigDecimal;
import java.math.BigInteger;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Test2 {
	public static void main(String[] args) {
		// 大小数
		double f = 111231.5585;
		BigDecimal bd = new BigDecimal(f);
		// 这里可以做四舍五入,假定小数点后面要保留2位有效数字

		double res = bd.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
		System.out.println("第一种方式: " + res);

		// 第二种四舍五入方法
		// 这里的参数,
		// #表示任意位数的数字,也可以改为000,三个0表示至少有三位,不足的,就补0
		// 后面的点表示小数点,
		// 00表示小数点后面保留两位有效数字
		DecimalFormat df = new DecimalFormat("#.000");
		System.out.println("第二种方式:" + df.format(f));

		// 第三种
		System.out.println("第三种方式:" + String.format("%.3f", f));

		// 第四种
		NumberFormat nf = NumberFormat.getNumberInstance();
		nf.setMaximumFractionDigits(3);
		System.out.println("第四种方式:" + nf.format(f));
	}
}

结果:

第一种方式: 111231.558
第二种方式:111231.558
第三种方式:111231.559
第四种方式:111,231.558

猜你喜欢

转载自blog.csdn.net/qian_qian_123/article/details/82379365