Java 常用对象-BigDecimal

Posted hyserendipity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 常用对象-BigDecimal相关的知识,希望对你有一定的参考价值。

2017-11-02 22:03:14

BigDecimal类不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)

BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。toString() 方法提供 BigDecimal 的规范表示形式。

        System.out.println(0.09+0.01);
        System.out.println(1.0-0.32);
        System.out.println(1.015*100);
//        0.09999999999999999
//        0.6799999999999999
//        101.49999999999999

Java中float和double存储会有精度问题,所以引入了BigDecimal类。

*构造方法:

最好使用字符串进行初始化。

*常用方法:

 

BigDecimal bd1=new BigDecimal("0.01");
System.out.println(bd1.add(new BigDecimal("0.09")));
//0.10

 

以上是关于Java 常用对象-BigDecimal的主要内容,如果未能解决你的问题,请参考以下文章

Java中Bigdecimal的使用和注意事項

BigDecimal类的用法

java怎么设置bigdecimal值

Java常用数据类型转换(BigDecimal包装类日期等)

java后台BigDecimal数据类型插入到mysql数据库的问题

# Java 常用代码片段