BigDecimal用法详解
1.用途
在需要精确的小数计算时再使用BigDecimal,BigDecimal的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用BigDecimal。
在项目中数据中字段为number()类型,前台进行转换时需要使用BigDicimal进行接收转换
2.BigDecimal用法
BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
- 下面介绍BigDecimal的构造方
- add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
- subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
-
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回 -
例子:对应实例和其结果
-
BigDecimal bigDecimal1 = new BigDecimal("1.22");
-
BigDecimal bigDecimal2 = new BigDecimal(1.22);
System.out.println(bigDecimal1);// 1.22
System.out.println(bigDecimal2);// 1.2199999999999999733546474089962430298328399658203125
System.out.println(bigDecimal1.doubleValue());// 1.22
System.out.println(bigDecimal2.doubleValue());// 1.22 - Bigdicimal比较大小的方法
- compareTo();返回值为1,0,-1;分别是左边大于右边、等于、小于