0

私のAndroidアプリには、ユーザーが必要な長さの小数を入力するEditTextがあります。25、54.77、23.7、7.88などの数値にすることができます。同じアクティビティで、EditTextへの入力を読み取り、小数点以下を表示するtextViewがありますが、最初の10進数までしか表示されません。たとえば、ユーザーが次のように入力した場合:25は25、54.77は54.7、23.7は23.7、7.88は7.8と表示されます。どうすればこれを達成できますか?次のコードを使用してみましたが、機能しませんでした。

        NumberFormat df = DecimalFormat.getInstance();
        df.setMinimumFractionDigits(0);
        df.setMaximumFractionDigits(1);

        df.format(EditTextNumber);
4

3 に答える 3

1

使用String.format

String result = String.format("%.1f", yourdecimalvalue);

あなたも使うことができますDecimalFormat

 NumberFormat formatter = new DecimalFormat("#0.0");
 String result = formatter.format(yourdeciamlvalue);
于 2012-12-13T13:24:08.423 に答える
0

DecimalFormatの代わりにNumberFormatを試してください。

NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(1);
nf.setMaximumFractionDigits(1);
TextView.setText(nf.format(editText.getText()));
于 2012-12-13T13:25:34.043 に答える
0

エディットテキストを介して入力を取得している場合は、このコードを使用できます

String number=input.getText().toString(); //input is ur input edittext
String output=number;
int indexOfDecimal=number.lastIndexOf('.');
if(indexOfDecimal!=-1&&indexOfDecimal<output.length()-1)
    number=output.substring(0, indexOfDecimal+2);  // use number as the output
于 2012-12-13T13:32:28.317 に答える