2016-02-14 62 views

回答

3

只是除以100的數量,格式,它以2位小數,和前面加上一個 '$':

public static String toDollarStr(int amountInCents) { 
    return String.format("$%.2f", (float)amountInCents/100); 
} 

如果你想如果您的評論(我不知道爲什麼會希望)中所述的值等於或小於零,則拋出IllegalArgumentException,只需添加if語句:

public static String toDollarStr(int amountInCents) { 
    if (amountInCents <= 0) 
     throw new IllegalArgumentException(); 
    return String.format("$%.2f", (float)amountInCents/100); 
} 

編輯

如果你有一個逗號被輸出,這將是由於語言環境,並且可以通過顯式指定一個區域,將無法做到這一點,例如可以解決US:

return String.format(Locale.US, "$%.2f", (float)amountInCents/100); 
+0

謝謝你的回答@yonk不幸的是輸出包含一個逗號。例如1999年的產量是19,99。也許有地區差異。我來自德國。 – user5909208

+0

此函數的輸出不能包含逗號...是int或帶逗號的String的數量? – jonk

+0

它是一個int用逗號 – user5909208

0

如果最後2位數字始終是仙:

str = "$" + str.substring(0,str.length()-2) +"."+str.substring(str.length()-2,str.length()); 
相關問題