1

出力を次のようにしたい場合に、JavaでdoubleからStringへのフォーマットを行う方法はありますか?

意図した出力:

n=12.4 の場合 => 12.4
n=12.0 の場合 -> 12

現在の出力を返す String.valueof(n) を使用していました:
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

倍精度を小数点以下2桁の文字列にフォーマットするには、次のようなコードを使用します

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

intの場合これを使用します

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