【发布时间】:2008-09-10 15:49:35
【问题描述】:
如何在 Java 中格式化浮点数,以便仅当浮点数不为零时才显示?例如:
123.45 -> 123.45 99.0 -> 99 23.2 -> 23.2 45.0 -> 45编辑:我忘了提 - 我还在使用 Java 1.4 - 抱歉!
【问题讨论】:
-
DecimalFormat 在 jdk 1.4 中可用。
如何在 Java 中格式化浮点数,以便仅当浮点数不为零时才显示?例如:
123.45 -> 123.45 99.0 -> 99 23.2 -> 23.2 45.0 -> 45编辑:我忘了提 - 我还在使用 Java 1.4 - 抱歉!
【问题讨论】:
如果您使用DecimalFormat 并在模式中指定#,它只会显示不为零的值。
查看我的问题How do I format a number in 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]));
}
【讨论】:
查看DecimalFormat 类,例如new DecimalFormat("0.##").format(99.0) 将返回“99”。
【讨论】:
new Formatter().format( "%f", myFloat )
【讨论】: