2013-10-09 78 views
0

我是一個新手試圖讓我的打印輸出語句來格式化小數點位置..我知道%.2f的作品,但無論什麼原因,當我嘗試應用% .2炸彈......不知道該怎麼辦..有什麼建議嗎?提前致謝!打印輸出語句的格式化問題,雙打java

credits = int 

raise = double 

System.out.printf("An undergraduate resident student taking " + credits + " currently pays $" + "%,.2f",credtotal); 

System.out.println("\n"); 

System.out.printf("with a increase in tuition of " + (trying to format here) raise + ", per credit will become " + raisecredund + ", and an undergraduate resident taking " + credits + " credits" + " will pay $" +"%,.2f",(credits*(raise*245.73))+ credtotal);; 
+0

OK偉大謝謝!!!!非常感激! – Bob

+0

移動原始評論回答。 – Origineil

回答

0
final String str1 = String.format("An undergraduate resident student taking %d currently pays $%.2f",credits, credtotal); 

編輯:您正在使用printf我沒有注意到。你接近:

System.out.printf("An undergraduate resident student taking %d currently pays $%.2f", credits,credtotal); 

使用你的第一個例子中的字符串,您提供的格式化字符內聯,然後爲每個佔位符的參數。假設credtotal是雙和知道creditsint,上面將產生(用分配各自的值)

An undergraduate resident student taking 1 currently pays $2.00 

參見creating formatted strings section

0

您似乎在使用"%,.2f"時使用逗號,我認爲這不是合法的。 %.2f將打印數字到2位小數。

如果你想永遠包含一個逗號3個地方像錢你應該使用一個DecimalFormat
DecimalFormat formatter = new DecimalFormat("#,###.00");