BigDecimal的用法

在科学计算及工程计算时,常常用float或者double类型;在商业计算中受制于浮点运算二进制的表示方式,无法精确表示分数,为此Java提供了两个对大数字(超过16位有效位)进

高精度计算的操作类:

1、java.math.BigInteger:针对整数的处理;

2、java.math.BigDecimal:针对小数的处理。

它支持任何精度的定点数,可以用它来精确计算货币值。

BigDecimal类实现用到了BigInteger类,不同的是BigDecimal类运算时加入了小数的概念。

BigDecimal类创建的是对象,不能使用传统的+、-、*、/等算术运算符直接对其进行数学运算,而必须调用其对应的方法.方法的参数也必须是BigDecimal类型的对象.

四种方法:

add()、subtract()、mutiply()、divide()



构造 BigDecimal 对象常用以下方法:
1、BigDecimal BigDecimal(double d);       //影响精度不推荐使用,见下文示例

2、BigDecimal.valueOf(double d);        //常用,推荐使用

3、BigDecimal(String s);            //常用,推荐使用

 

示例:

BigDecimal bd = BigDecimal.valueOf(1.0002);
BigDecimal bd1 = new BigDecimal("1.3333");
BigDecimal bd2 = new BigDecimal(1.2222);

System.out.println(bd);
System.out.println(bd1);
System.out.println(bd2);

 

posted @ 2018-01-23 17:35  hanhan6494  阅读(164)  评论(0编辑  收藏  举报