12

もしも

double d =  1.999e-4

出力を0.0001999にします。

どうすればいいですか?

4

5 に答える 5

9
NumberFormat formatter = new DecimalFormat("###.#####");  

String f = formatter.format(d);  

クラスのサブクラスを調べて、NumberFormat詳細を知ることができます。

于 2012-10-25T08:33:53.790 に答える
5

あなたはこのようにそれを行うことができます:

    double d = 1.999e-4;
    NumberFormat nf = NumberFormat.getInstance();
    nf.setMinimumFractionDigits(7);
    System.out.println(nf.format(d));

のメソッドのドキュメントを確認して、必要NumberFormatに応じてフォーマットdoubleしてください。

DecimalFormatコンストラクターが述べているように、は特殊なケースですが、ケースにNumberFormatその機能が必要だとは思いません。混乱している場合は、彼らのドキュメントをチェックしてください。便宜上、のファクトリメソッドgetInstance()を使用してください。NumberFormat

于 2012-10-25T08:35:57.503 に答える
5

BigDecimalクラスに。というメソッドがあると思いますtoPlainString()。たとえば、BigDecimalが1.23e-8の場合、メソッドは0.0000000124を返します。

BigDecimal d = new BigDecimal("1.23E-8");

System.out.println(d.toPlainString());

上記のコードは0.0000000123を出力し、要件に従って文字列を処理できます。

于 2015-07-08T13:56:46.100 に答える
3

あなたが望むのはそのように印刷することだけです。

System.out.printf("%1$.10f", d);

10f、10=必要な小数点以下の桁数を変更できます。

于 2012-10-25T08:36:18.980 に答える
0

ご覧ください

java.text.DecimalFormat

java.text.DecimalFormatSymbols
于 2012-10-25T08:31:30.793 に答える