加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – BigDecimal数字的格式

发布时间:2020-12-15 05:08:35 所属栏目:Java 来源:网络整理
导读:BigDecimal val = BigDecimal.valueOf(0.20);System.out.println(a); 我想在val中存储一个0.20而不是0.2的值.我可以做什么 ? 在这种情况下,我不认为我可以使用NumberFormat,当我使用NumberFormat时,我必须知道我的十进制数的长度是多少!我可以有0.20或0.50
BigDecimal val = BigDecimal.valueOf(0.20);
System.out.println(a);

我想在val中存储一个0.20而不是0.2的值.我可以做什么 ?

在这种情况下,我不认为我可以使用NumberFormat,当我使用NumberFormat时,我必须知道我的十进制数的长度是多少!我可以有0.20或0.5000,我不知道我的十进制数的确切长度,所以我不能使用:

DecimalFormat df = new DecimalFormat("#0.00");

要么

DecimalFormat df = new DecimalFormat("#0.00000");

也许我只有2个数字或5个或更多的数字,这个程序不起作用:

BigDecimal a = BigDecimal.valueOf(0.20);//i give an example of 0.2 i can have 0.98...0
         System.out.println(a);

         NumberFormat nf1 = NumberFormat.getInstance();
         System.out.println(nf1.format(0.5000));

解决方法

您可以使用BigDecimal的String构造函数.它保留了规模(这是你想要的).

BigDecimal val = new BigDecimal("0.20");

见http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读