1

我只有一个问题:)

BigDecimal val = BigDecimal.valueOf(0.20);
System.out.println(a);

我想存储val一个值0.20而不是0.2。我可以做什么 ?

4

3 回答 3

5

当您想控制数字的格式时,请查看NumberFormat特别是具体的DecimalFormat子类。

您可以从模式创建一个DecimalFormat,或者直接设置它的各个方面。然后你要求它格式化你的BigDecimal,它会给你字符串。

于 2012-05-18T12:56:13.283 回答
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
于 2012-05-18T13:05:14.477 回答
0

您不能存储0.20而不是存储0.2在变量中,因为它们是相同的值。但是,您可以更改打印结果的方式。

您的问题让我假设您是 Java 编程的初学者。您应该阅读本教程以详细了解其工作原理,而不仅仅是简单的回答。

于 2012-05-18T12:59:23.933 回答