【发布时间】:2012-05-18 13:39:57
【问题描述】:
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));
【问题讨论】:
-
我接受,但它仍然是 0 !我能做什么?
标签: java bigdecimal