版权声明:原创内容是本人学习总结,仅限学习使用,禁止用于其他用途。如有错误和不足,欢迎评论指正补充。 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