Java模块 -- BigDecimal 支持任何精度的定点数

来源:互联网 发布:rc522 stc源码 编辑:程序博客网 时间:2024/06/13 12:02

如果不是财务计算的话,可能不太会接触到这个玩意...

BigDecimal 高精度定点数. 可以精确小数点...

例如: 平时我们这样计算的时候,

                double num = 2.0;double num2 = 1.1;System.out.println(num - num2); //0.8999999999999999
它输出的值,是循环小数....是不是看的很不爽啊....


为了不看到这个玩意,咱们用BigDecimal试试看...

</pre><p><pre name="code" class="java">BigDecimal bigd = new BigDecimal("2.0");BigDecimal bigd2 = new BigDecimal("1.1");BigDecimal bigd3 = bigd.add(bigd2);//和BigDecimal bigd4 = bigd.subtract(bigd2);//差BigDecimal bigd5 = bigd.multiply(bigd2);//积System.out.println("和: "+bigd3);//和: 3.1System.out.println("差: "+bigd4);//差: 0.9System.out.println("积: "+bigd5);//积: 2.20


BigDecimal的构造器.

BigDecimal(int)       创建一个具有参数所指定整数值的对象。 BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 BigDecimal(long)    创建一个具有参数所指定长整数值的对象。 BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。


方法描述:

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


部分引用: http://www.cnblogs.com/linjiqin/p/3413894.html

0 0
原创粉丝点击