これはばかげた質問かもしれませんが、メソッドを作成していない場合、どのように解決するかは推測できません。たぶんそれを行うための「自然な方法」があるかもしれません、例えばCのように。問題は次のとおりです。
私は変数を持っています:
double a;
そして、小数点以下2桁または3桁でのみ表示したいと思います。見せようとしたとき:
Text.setText("Value of a: " + String.valueOf(a));
それは次のようなものを与えます:
値a:5.234966145
そして私はただ欲しい
値a:5.23
Aの実際の値を変更せずに、おおよその数を表示しますが、実際の数で動作します。
yourTextView.setText(String.format("Value of a: %.2f", a));
DecimalFormat またはString.format("%.2f", a);
を使用できます
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));
小数点以下2桁までの数字を表示する場合、2つの可能性があります。1)最初に、小数点がある場合にのみ表示します。例-i)12.10を12.1として表示する、ii)12.00を12として表示する
DecimalFormat formater = new DecimalFormat("#.##");
2)次に、存在する小数に関係なく小数桁を表示します。たとえば、-i)12.10は12.10として表示されます。 ii)12は12.00として表示されます。次に、
DecimalFormat formater = new DecimalFormat("#.00");
これを使用してください:
DecimalFormat form = new DecimalFormat("0.00");
etToll.setText(form.format(tvTotalAmount) );
注:データは10進形式(tvTotalAmount)でなければなりません
textView2.setText(String.format("%.2f", result));
そして
DecimalFormat form = new DecimalFormat("0.00");
textView2.setText(form.format(result) );
...ヨーロッパのロケールで「NumberFormatException」エラーが発生するのは、小数点以下の小数点ではなくカンマとして結果を設定するためです。editTextの数値にtextViewを追加するとエラーが発生します。どちらのソリューションも、米国および英国のロケールで優れた機能を発揮します。