Условное форматирование чисел в Java - PullRequest
5 голосов
/ 10 сентября 2008

Как я могу отформатировать Floats в Java, чтобы компонент float отображался, только если он не равен нулю? Например:

123.45 -> 123.45
99.0   -> 99
23.2   -> 23.2
45.0   -> 45

Редактировать: я забыл упомянуть - я все еще на Java 1.4 - извините!

Ответы [ 3 ]

6 голосов
/ 10 сентября 2008

Если вы используете DecimalFormat и указываете # в шаблоне, оно отображает значение, только если оно не равно нулю.

См. Мой вопрос Как мне отформатировать число в Java?

Пример кода

 DecimalFormat format = new DecimalFormat("###.##");

    double[] doubles = {123.45, 99.0, 23.2, 45.0};
    for(int i=0;i<doubles.length;i++){
        System.out.println(format.format(doubles[i]));
    }
2 голосов
/ 10 сентября 2008

Проверьте класс DecimalFormat , например, новый формат DecimalFormat ("0. ##"). (99.0) вернет "99".

0 голосов
/ 10 сентября 2008
new Formatter().format( "%f", myFloat )
...