2012-05-18 62 views
1

代替0.2我有中庸之道一個問題:)Diplay 0.20 BigDecimal中

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

我想在val0.20而不是0.2存儲。 我能做什麼?

+0

這是由於顯示,它仍然是(可能有更多的小數)存儲爲0.20。 – Davio

回答

5

如果要控制數字的格式,請參閱NumberFormat,特別是具體的DecimalFormat子類。

您可以根據模式創建DecimalFormat,也可以直接設置它的各個方面。然後你問它格式化你的BigDecimal,它會給你的字符串。

0

您不能將0.20而不是0.2存儲在變量中,因爲它們的值相同。但是,您可以更改打印結果的方式。

您的問題讓我認爲您是Java編程的初學者。您應該閱讀this tutorial,以便詳細瞭解其工作原理,而不是簡單地回答。

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 
+0

你甚至不需要通過0.20001,0.2也會這樣做。 – dragon66

+0

@ dragon66感謝好評:-) –