4

重複の可能性:
フローティングタイプを文字列にうまくフォーマットする方法は?

私は番号を持っています:

Double d1=(Double)0;
Double d2=(Double)2.2;
Double d3=(Double)4;

Stringを使用すると、0.0、2.2、4.0が表示されますが、0、2.2、4が表示されます。どうすればよいですか。

4

2 に答える 2

18

DecimalFormat.formatの代わりに使用Double.toString

Double d1 = (Double)0.0;
Double d2 = (Double)2.2;
Double d3 = (Double)4.0;

// Example: Use four decimal places, but only if required
NumberFormat nf = new DecimalFormat("#.####");

String s1 = nf.format(d1); // 0
String s2 = nf.format(d2); // 2.2
String s3 = nf.format(d3); // 4

そのためにsは必要ありませんDoubledoublesは問題なく動作します。

于 2013-01-11T06:09:23.860 に答える
1

まず、String.valueof(YOUR_VARIABLE)を使用してDoubleをStringに変換します

次に、以下の関数を使用して実行します。

private String getyourNumber(String NUMBER) {
    if(!NUMBER.contains(".")) {
        return NUMBER;
    }

    return NUMBER.replaceAll(".?0*$", "");
}

次に、

文字列を2倍にしDouble.parseDouble(YOUR_RETURNED_STRING)ます。

于 2013-01-11T06:09:17.790 に答える