有没有办法在java中对String的double格式进行格式化,我希望输出为:
预期输出:
如果 n=12.4 => 12.4
如果 n=12.0 -> 12
我正在使用 String.valueof(n) 并返回 Current output:
if n=12.4 => 12.4
if n=12.0 => 12.0
任何帮助将不胜感激。
有没有办法在java中对String的double格式进行格式化,我希望输出为:
预期输出:
如果 n=12.4 => 12.4
如果 n=12.0 -> 12
我正在使用 String.valueof(n) 并返回 Current output:
if n=12.4 => 12.4
if n=12.0 => 12.0
任何帮助将不胜感激。
您可以使用DecimalFormat
:
System.out.println(new DecimalFormat("0.#").format(12.0));
前段时间我写了这个,效果很好
public static String formattedDouble(double d)
{
Long l = (d == Math.floor(d)) ? (long)d : null;
String str = "";
if (l == null)
str += d;
else
str += l;
return str;
}
将双精度格式设置为带两位小数的字符串,使用这样的代码
String.format("%1$,.2f", doubleValue)
对于 int 使用这个
String.format("%d", intValue );