BigDecimal是为了精确计算float类型的值的一个类,在使用时最好用字符串做计算下面为对方法的使用举例
BigDecimal b1 = new BigDecimal(float/double);
BigDecimal b2 = new BigDecimal(float/double);
BigDecimal的加减乘除方法()里面的参数必须都是BigDecimal类型的
b1.add(b2);加法
b1.subtract(b2):减法
b1.multiply(b2):乘法
b1.divide(b2):除法(除不尽会报错)
BigDecimal的值类型转换的方法
例子
b1.toString();将BigDecimal对象中的值转换成字符串
b1.intValue();将BigDecimal对象中的值转换成整数
b1.doubleValue();将BigDecimal对象中的值转换成双精度数
b1.floatValue();将BigDecimal对象中的值转换成单精度数
b1.longValue();将BigDecimal对象中的值转换成长整数
和其他方法的联合用法
b1.add(b2).toString();
BigDecimal中的setScale用法
例子
b1.setScale(2,BigDecimal.ROUND_HALF_UP);保留两位小数,根据后面的数字四舍五入(大于等于5进位)
b1.setScale(2,BigDecimal.ROUND_HALF_DOWN);保留两位小数,根据后面的数字四舍五入(大于5进位)
b1.setScale(2,BigDecimal.ROUND_CEILING);保留两位小数,如果是正数相当于BigDecimal.ROUND_HALF_UP,如果是负数相当于BigDecimal.ROUND_HALF_DOWN
b1.setScale(2,BigDecimal.ROUND_FLOOR);保留两位小数,如果是正数相当于BigDecimal.ROUND_HALF_DOWN,如果是负数相当于BigDecimal.ROUND_FLOOR
b1.setScale(2,ROUND_UP);保留两位小数,直接进位不管后面数大小
b1.setScale(2,BigDecimal.ROUND_DOWN);保留两位小数,尾数直接去掉
和其他方法的联合用法
b1.multiply(b2).setScale(2,BigDecimal.ROUND_HALF_UP)
三种方法一起使用
b1.multiply(b2).setScale(2,BigDecimal.ROUND_HALF_UP).floatValue()
12-13
472
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交