2015-10-19 4 views
0

У меня есть простой вопрос, но это довольно сложно для Google. У меня есть поле ввода для числа, и мне нужно сделать этот номер в валюте. Итак, если пользователь вводит 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; 

} 
Смежные вопросы