2011-11-09 21 views
68

これは愚かな質問かもしれませんが、方法を作成していない場合、解決する方法を推測することはできません。たとえば、Cのように、それを行うための "自然な方法"があるかもしれません。ここで問題です:Androidで2小数点以下の倍数を印刷するにはどうすればよいですか?

私はVAR持っている:

double a; 

を私は唯一の2つのまたは3小数でそれを示したいと思います。私はそれを表示しようとすると:の

値:

Text.setText("Value of a: " + String.valueOf(a)); 

それはのようなものを与える5.234966145

と私はちょうど

価値を望みます:5.23

aの実際の値を変更せずに、近似値を表示しますが、実数で動作します。

DecimalFormat form = new DecimalFormat("0.00"); 
etToll.setText(form.format(tvTotalAmount)); 

注:データは、小数点形式でなければなりません(tvTotalAmount)

+0

doubleNumber.toString(として表示する)。ストリング(0,3) – Madi

答えて

155
Text.setText(String.format("Value of a: %.2f", a)); 
28

0ヨーロッパのロケールで
DecimalFormat form = new DecimalFormat("0.00"); 
     textView2.setText(form.format(result)); 

...原因「NumberFormatExceptionが」エラーは、コンマの代わりに、ポイント小数点として結果を設定するため - のTextViewがEDITTEXTで番号に追加されたときにエラーが発生します。 両方のソリューションは、ロケールが米国および英国で優れています。

8

使用を使用することができます

4
textView2.setText(String.format("%.2f", result)); 

あなたはこの1 DecimalFormat、またはString.format("%.2f", a);

19

あなたは次のインポートを使用する必要があるか、あなたのコードは動作しませんてDecimalFormat使用する前に:

import java.text.DecimalFormat; 

の書式設定のためのコードは次のとおりです。

DecimalFormat precision = new DecimalFormat("0.00"); 
// dblVariable is a number variable and not a String in this case 
txtTextField.setText(precision.format(dblVariable)); 
+0

コードが丸められた値を示しています。たとえば、2が表示されます。82によって呼び出されます。precision.format(2.81666666)... – anivaler

12

が小数点以下件までの数字を表示します2つの可能性があります。 1)まず、小数点を表示するだけです。例えば - I)12.10 II)12.00が

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

2)第二に、あなたは関係なく、例えば、小数点現在の小数点以下の桁を表示したいその後use- 12として表示されるように、12.1と表示される-i )12.10は12.10として表示されます。 II)12 12.00.Then use-

DecimalFormat formater = new DecimalFormat("#.00"); 
+1

これは、 "0"を ".00"とフォーマットします。 代わりに 'new DecimalFormat(" 0.00 ")'を使用して "0.00"として "0"を表示してください – PrashanD

関連する問題