Java基础系列~第三天

关于BigDecimal

一般,浮点数在计算上有误差,比如float a = 0.1f和double b = 0.1d,在数字上应该是相等的,在在比较时会发现两者并不相等。这是因为浮点数由于字节位数原因导致。因此,建议大家使用BigDecimal类来进行计算!

1. BigDecimal的常用构造函数

//可以传入的类型:int、double、long、String
BigDecimal(int)
BigDecimal(double)
BigDecimal(long)
BigDeciaml(String)

2. BigDecimal的加减乘除方法

//加法
add(BigDecimal)

//减法,参数时是减数
subtract(BigDecimal)

//乘法
multiply(BigDecimal)

//除法,后面的参数可填可不填,表示保留小数位数
divide(BigDeciaml[, int])


//------------------------------------其他方法---------------------

//转化为双精度
doubleValue()

//转化为单精度
floatValue()

//转化为长整型
longValue()

//转化为整数
intValue()


3. BigDecimal比较大小

int a = bigdemical.comareTo(bigdemical2)

a = -1  bigdemical<bigdemical2

a = 0   bigdemical=bigdemical2

a = 1   bigdemical>bigdemical2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容