2015-10-19 166 views
0

我有一個簡單的問題,但它對谷歌來說相當困難。我有一個數字的輸入字段,我需要把這個數字變成一個貨幣。所以,如果用戶輸入120,我需要將其格式化爲1.20美元。然後,如果他們添加另一個數字,例如數字變爲1204,我需要將其格式設置爲$ 12.04。我使用的是Double.ParseDouble,但如果說120,則產生120.00美元。所以,我想我需要像ParseDouble這樣的東西,將120的值變成1.20美元而不是120.00美元。我該怎麼做呢?格式化Java字符串

+5

你有沒有嘗試過的東西明顯像除以100?當然是100美元。 – Selvin

回答

1

你可以做到這一點,甚至沒有在數字解析。

使用StringBuilder對象這樣做:

String input = "120"; 
    String output = new StringBuilder(input).insert(input.length() - 2,".") 
              .insert(0, "$").toString(); 
    System.out.println(output); // Prints $1.20 
+0

這正是我所期待的。謝謝。 – Killingsworth

1

使用Double.parseDouble(double number);,但與0.01 :)

那麼你有你的位置,一切都很好很容易繁殖;)

Devlen

0
public String getNumberCurrency(double number){ 

NumberFormat formatter = NumberFormat.getCurrencyInstance(Locale.getDefault()); 
String moneyString = formatter.format(number/100); 
return moneyString; 

}