我是靠谱客的博主 英俊薯片,这篇文章主要介绍Java默认bigdecimal初始值_BigDecimal初始化不要用double类型,现在分享给大家,希望可以做个参考。

在进行单价、总价相关的计算时,就会用到BigDecimal。

在初始化时,一个不小心,就可能给自己挖坑。

示例如下:

public class BigDecimalInitTest {

public static void main(String[] args) {

BigDecimal amount1=new BigDecimal("0.06");

BigDecimal amount2=new BigDecimal(0.06);

System.out.println(amount1);

System.out.println(amount2);

}

}

运行之后,结果为:

0.06

0.059999999999999997779553950749686919152736663818359375

源码注释

打开BigDecimal的构造方法,可以发现:

/**

* Translates a {@code double} into a {@code BigDecimal} which

* is the exact decimal representation of the {@code double}'s

* binary floating-point value. The scale of the returned

* {@code BigDecimal} is the smallest value such that

* (10scale × val) is an integer.

最后

以上就是英俊薯片最近收集整理的关于Java默认bigdecimal初始值_BigDecimal初始化不要用double类型的全部内容,更多相关Java默认bigdecimal初始值_BigDecimal初始化不要用double类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部