我只有一个问题:)
BigDecimal val = BigDecimal.valueOf(0.20);
System.out.println(a);
我想存储val
一个值0.20
而不是0.2
。我可以做什么 ?
我只有一个问题:)
BigDecimal val = BigDecimal.valueOf(0.20);
System.out.println(a);
我想存储val
一个值0.20
而不是0.2
。我可以做什么 ?
当您想控制数字的格式时,请查看NumberFormat
特别是具体的DecimalFormat
子类。
您可以从模式创建一个DecimalFormat
,或者直接设置它的各个方面。然后你要求它格式化你的BigDecimal
,它会给你字符串。
这是如何使用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
您不能存储0.20
而不是存储0.2
在变量中,因为它们是相同的值。但是,您可以更改打印结果的方式。
您的问题让我假设您是 Java 编程的初学者。您应该阅读本教程以详细了解其工作原理,而不仅仅是简单的回答。