概述
一、运算
java.math.BigDecimal。BigDecimal一共有多种够造方法,让我先来看看其中的两种用法:
第一种:BigDecimal(double val)
第二种:BigDecimal(String val) //通常采用这种方式
来看看BigDecimal的四则运算:
加法 | bigDecimal1.add(bigDecimal2) |
减法 | bigDecimal1.subtract(bigDecimal2) |
乘法 | bigDecimal1.multiply(bigDecimal2) |
除法 | bigDecimal1.divide(bigDecimal2) |
代码:
/**
* 加减乘除
*/
@Test
public void BigdecimalTest1(){
BigDecimal bignum1 = new BigDecimal("10");
BigDecimal bignum2 = new BigDecimal("5");
BigDecimal bignum3 = null;
//加法
bignum3 = bignum1.add(bignum2);
System.out.println("和 是:" + bignum3);
//减法
bignum3 = bignum1.subtract(bignum2);
System.out.println("差 是:" + bignum3);
//乘法
bignum3 = bignum1.multiply(bignum2);
System.out.println("积 是:" + bignum3);
//除法
bignum3 = bignum1.divide(bignum2);
System.out.println("余 是:" + bignum3);
}
结果:
和 是:15
差 是:5
积 是:50
余 是:2
二、保留小数位
/**
* 对小数的处理
*/
@Test
public void BigdecimalTest2(){
DecimalFormat df =new DecimalFormat("#.00"); //格式化两位有效数字,四舍五入的
System.out.println(df.format(3.1415926));
//通过setScale()方法
/**
* BigDecimal.setScale()方法用于格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
*/
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小数
System.out.println(f1);
//除法保留两位小数
BigDecimal b1 = new BigDecimal("1");
BigDecimal b2 = new BigDecimal("3");
System.out.println(b1.divide(b2,2,BigDecimal.ROUND_HALF_UP));
}
结果:
3.14
111231.56
0.33
最后
以上就是满意睫毛为你收集整理的java Bigdecimal的加减乘除运算及保留小数位一、运算二、保留小数位的全部内容,希望文章能够帮你解决java Bigdecimal的加减乘除运算及保留小数位一、运算二、保留小数位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复