пятница, 20 мая 2011 г.

Форматированный вывод вещественных чисел

Постоянно если сталкиваюсь, то пытаюсь вспомнить, что ж там надо писать в строке формата String.format, чтобы вывести в том виде, в котором нужно. И постоянно приходится или угадывать, или гуглить. Даже не знаю, что быстрее. Поэтому стоит записать, как же получить нормальное строковое представление для float/double немного альтернативным способом:
NumberFormat format = new DecimalFormat("#.##", 
    new DecimalFormatSymbols(Locale.US));
String result = format.format(doubleParam);

Второй параметр у конструктора можно не указывать. По умолчанию используется локаль системы. Мне было неудобно, т.к. нужна была точка в качестве разделителя целой и дробной части, а русская локаль ставит запятую.
Как это сработает?
1.4 "1.4"
1.333"1.33"
1.89999"1.9"
16.23"16.23"

Комментариев нет:

Отправить комментарий