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则向下舍
注释:
1:
scale指的是你小数点后的位数。比如123.456则score就是3.
score()就是BigDecimal类中的方法啊。
比如:BigDecimal b = new BigDecimal("123.456");
b.scale(),返回的就是3.
2:
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
3:
pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选!
4:对于一般add、subtract、multiply方法的小数位格式化如下:
BigDecimal mData = new BigDecimal("9.655").setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("mData=" + mData);
----结果:----- mData=9.66
String yearRate ="0.13999999999999999999"; System.out.println(yearRate); BigDecimal decimal = new BigDecimal(yearRate).multiply(new BigDecimal(100)); yearRate = decimal.setScale(2, BigDecimal.ROUND_DOWN).toString(); System.out.println(yearRate);
----结果:
0.13999999999999999999
13.99
static BigDecimal ONE
值为 1,标度为 0。
static int ROUND_CEILING
接近正无穷大的舍入模式。
static int ROUND_DOWN
接近零的舍入模式。
static int ROUND_FLOOR
接近负无穷大的舍入模式。
static int ROUND_HALF_DOWN
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。
static int ROUND_HALF_EVEN
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
static int ROUND_HALF_UP
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
static int ROUND_UNNECESSARY
断言请求的操作具有精确的结果,因此不需要舍入。
static int ROUND_UP
舍入远离零的舍入模式。
static BigDecimal TEN
值为 10,标度为 0。
static BigDecimal ZERO
值为 0,标度为 0。
相关推荐
你是否因为JS端的小数计算的精度不足而发愁过呢 其实有个不错的资源可以利用。 引用附件的JS,就可以轻松搞定JS的计算问题了。 使用例 <!-- function //+ alert(new BigDecimal("10").add(new BigDecimal("3E+...
javascript的数值精确计算类bigdecimal,改编自java的bigdecimal
BigDecimal工具类.docx
java BigDecimalUtil 保留两位小数 去掉小数位无效0并转换为String,nullToZero data.setScale(2, RoundingMode.HALF_UP);
BigDecimal的计算
java丢失精度,bigdecimal加减乘除
BigDecimal类,常用方法是用介绍
复杂的BigDecimal计算,需要开方的式子,可输入结果精确位数
BigDecimal向Double转换
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
Java保留两位小数的各种方法(代码),还有浮点数、整数之间的转换几注意事项,比较适用。
BigDecimal加减乘除工具包,提供了BigDecial操作以及保留小数位数
BigDecimal b1=new BigDecimal("1.0"); BigDecimal b2=new BigDecimal("1.00"); boolean t=b1.equals(b2); 怎么样,你认为t是true还是false?它还真是false。BigDecimal的大小比较,1.0与1.00是不相等的,得采用...
bigdecimal转integer
bigdecimal加减乘除运算
string转bigdecimal类型
BigInteger.java BigDecimal.java 文件 源代码
js中引入BigDecimal-all-last.min.js
Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE...
其中,BigDecimal 是一种高精度的十进制浮点数类型,适合处理大数值计算。在一些需求中,我们可能需要将 BigDecimal 值转换为 Integer 类型。这时,可以使用 BigDecimal 的 intValue() 方法进行转换。 当 ...