1

有没有办法在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

任何帮助将不胜感激。

4

3 回答 3

7

您可以使用DecimalFormat

System.out.println(new DecimalFormat("0.#").format(12.0));
于 2013-01-22T23:41:00.037 回答
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;
    }
于 2013-01-22T23:42:29.480 回答
0

将双精度格式设置为带两位小数的字符串,使用这样的代码

String.format("%1$,.2f", doubleValue)

对于 int 使用这个

String.format("%d", intValue );
于 2013-01-22T23:42:32.003 回答