2012-10-07 26 views
4

此代碼的輸出%(轉換負數到正在System.out.printf

System.out.printf("%d %(d %+d %05d\n", 3, -3, 3, 3); 

3 (3) +3 00003 

可有人請解釋爲什麼-3在此打印爲3聲明?

+3

或者只是圍住負數''(System.out.printf(「%(d」,-3);''打印'(3)'。 –

回答

9

可有人請解釋爲什麼-3在這個結印爲3?

它不是,它被打印爲(3)

從Javadoc文檔Formatter說標誌(

結果將在括號

+0

+1鏈接說:'('數字標誌可用於用括號代替負號而不是減號。 – Jimmy

+1

它不會跳過負號,它使用'(n)'顯示負數而不是'-'如果使用正數,則不存在'()' –

+2

據我所知,在會計中負數被放置在兩個括號之間。 –

9

Formatter幫助表示格式「(」表示它將括號中的負數包圍起來

在簿記中,欠款的金額通常用紅色數字表示,或者用括號中的數字表示 ,作爲表示 負數的備選表示法。

Wikipedia: Negative Numbers