1

私はAndroidでモバイルアプリケーションをプログラムすることを学んでいます。私の最初のアプリは単位変換器です。Everithingは現在機能していますが、数値のフォーマットについて質問があります。ボタンからテキストを取得し、適切な出力を変換するために、このコードを使用しています。

if (bPrevodZ.getText() == "milimeter"){
    if (bPrevodDo.getText()=="kilometer"){
        String PomocnaPremenna = jednotkaZ.getText().toString();
        double cisloNaPrevod = Double.parseDouble(PomocnaPremenna);
        cisloNaPrevod = cisloNaPrevod*0.0000001;
        vysledok.setText(Double.toString(cisloNaPrevod));
    }

最終結果は「cisloNaPrevod」ですが、その数値の適切な形式を表示するのに問題があります。例:12345 mm = 0,0012345 kmこれは良いですね?:)

しかし、変換すると:563287 mm =0.05632869999999995これは悪いです:)0.0563287を表示する必要があります

助けのためのThx

4

3 に答える 3

4

String.formatを使用します。

String.format("%.6f", cisloNaPrevod);
于 2013-01-06T20:59:12.880 に答える
2

番号に常に有効数字6桁を含める場合は、次を使用します。

vysledok.setText(String.format("%.6g", cisloNaPrevod));

結果を与える0.0563287

小数点以下6桁に四捨五入する場合は、

vysledok.setText(String.format("%.6f", cisloNaPrevod));

結果を与える0.056329

数値の書式設定をカバーするいくつかの優れたリソースは次のとおりです。

于 2013-01-06T21:13:42.993 に答える
1

頻繁に行う場合は、を使用する必要がありますDecimalFormat

DecimalFormat df = new DecimalFormat("#.#######"); 

次に、電話します。

df.format(someDoubleValue);
于 2013-01-06T21:47:18.297 に答える