Преобразовать введенное двойное или плавающее значение в формат валюты США в формате Java - PullRequest
0 голосов
/ 14 сентября 2018

Ввод: число с плавающей запятой или двойная сумма

Вывод: число или строка в формате валюты США

В настоящее время я использую DecimalFormater для преобразования числа с плавающей запятой или двойного. Выходные данные это сумма в строковом формате.

Для форматирования в формате валюты США Am используется NumberFormat.getInstance (Locale.US) .format (- Input Value--). Но допустимым входным значением является только числовой стиль данных, а не строковый тип данных.

Таким образом, входные данные из DecimalFormater не могут использоваться в качестве входных данных для NumberFormat

Попытка использования класса Wrapper для преобразования строки в определенный числовой тип. Но округление до двух знаков после запятой не работает, как указано.

Метод преобразования двойного значения в строку и двойного в формат США

 public static string doubleInTwoDecimalPoint(double value) {
    		DecimalFormat df =  new DecimalFormat("####0.00");
    		String doubleInStringRep =  df.format(value);
    		return doubleInStringRep;
    	}

    public static void convertToUSFormat(double amount) {           
           
    System.out.println(NumberFormat.getInstance(Locale.US).format(amount));
         }

1 Ответ

0 голосов
/ 14 сентября 2018

Вам необходимо использовать NumberFormat :: getCurrencyInstance , который будет форматироваться в Locale, который вы передаете ему.

System.out.println(NumberFormat.getCurrencyInstance(Locale.US).format(amount));

Пример:

Ввод:

123,4567

Вывод:

$ 123,46

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...