我是靠谱客的博主 英俊薯片,最近开发中收集的这篇文章主要介绍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类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部