代替0.2我有中庸之道一個問題:)Diplay 0.20 BigDecimal中
的BigDecimal VAL = BigDecimal.valueOf(0.20);
System.out.println(a);
我想在val
值0.20
而不是0.2
存儲。 我能做什麼?
代替0.2我有中庸之道一個問題:)Diplay 0.20 BigDecimal中
的BigDecimal VAL = BigDecimal.valueOf(0.20);
System.out.println(a);
我想在val
值0.20
而不是0.2
存儲。 我能做什麼?
如果要控制數字的格式,請參閱NumberFormat
,特別是具體的DecimalFormat
子類。
您可以根據模式創建DecimalFormat
,也可以直接設置它的各個方面。然後你問它格式化你的BigDecimal
,它會給你的字符串。
您不能將0.20
而不是0.2
存儲在變量中,因爲它們的值相同。但是,您可以更改打印結果的方式。
您的問題讓我認爲您是Java編程的初學者。您應該閱讀this tutorial,以便詳細瞭解其工作原理,而不是簡單地回答。
這裏的小例子如何使用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.20001,0.2也會這樣做。 – dragon66
@ dragon66感謝好評:-) –
這是由於顯示,它仍然是(可能有更多的小數)存儲爲0.20。 – Davio