奋斗的Fly

BigDecimal用法详解

1.用途

在需要精确的小数计算时再使用BigDecimal,BigDecimal的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用BigDecimal。

在项目中数据中字段为number()类型,前台进行转换时需要使用BigDicimal进行接收转换

2.BigDecimal用法

BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

  • 下面介绍BigDecimal的构造方
  • add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
  • subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
  1. multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
    divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
    toString() 将BigDecimal对象的数值转换成字符串。
    doubleValue() 将BigDecimal对象中的值以双精度数返回。
    floatValue() 将BigDecimal对象中的值以单精度数返回。
    longValue() 将BigDecimal对象中的值以长整数返回。
    intValue() 将BigDecimal对象中的值以整数返回

  2. 例子:对应实例和其结果

  3. BigDecimal bigDecimal1 = new BigDecimal("1.22");

  4. 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

  5. Bigdicimal比较大小的方法
  6. compareTo();返回值为1,0,-1;分别是左边大于右边、等于、小于

 

posted on 2018-05-02 16:54  奋斗的Fly  阅读(393)  评论(0编辑  收藏  举报

导航