我有一个问题:)
BigDecimal val = BigDecimal.valueOf(0.20);
的System.out.println(一);
我想在val
中存储一个值0.20
,而不是0.2
。
我能做什么?
答案 0 :(得分:5)
如果要控制数字的格式,请查看NumberFormat
,尤其是具体的DecimalFormat
子类。
您可以从模式中创建DecimalFormat
,也可以直接设置它的各个方面。然后,您要求它格式化您的BigDecimal
,它会为您提供字符串。
答案 1 :(得分:2)
以下是如何使用DecimalFormat
来满足您需求的小例子
double d = 1.2345;
DecimalFormat df = new DecimalFormat("#0.00");
System.out.println(df.format(d)); // will print 1.23
d = 3.400;
System.out.println(df.format(d)); // will print 3.40
d = 3.456;
System.out.println(df.format(d)); // will print 3.46
BigDecimal b = new BigDecimal(0.20001);
System.out.println(df.format(b)); // will print 0.20
答案 2 :(得分:0)
您无法在变量中存储0.20
而不是0.2
,因为它们的值相同。但是,您可以更改结果的打印方式。
你的问题让我假设你是Java编程的初学者。您应该阅读this tutorial,以便详细了解其工作原理,而不只是简单回答。