0

Androidアプリをいじり始めたばかりです。数値を入力するためのテキスト フィールドがありますが、どういうわけか小数なしで通常の整数しか入力できません。

小数も入力できるように、何ができるか考えていますか?

これは私が持っているものです..

public void onClick(View arg0) {
          EditText edit = (EditText)findViewById(R.id.editText1);
          TextView text = (TextView)findViewById(R.id.textView1);
          String input = edit.getText().toString();
          float num = 0;
          try {
             num = Integer.parseInt(input);
          } catch (NumberFormatException e) {
             input = "0";
          }

          double newNum = num * 1.12;
          DecimalFormat df = new DecimalFormat("###.##");
          text.setText(input + " * 12% = " + df.format(newNum));
4

2 に答える 2

8

EditText次の属性をxmlに追加します。

android:inputType="numberDecimal"

これにより、キーボードに小数を入力するように通知されます。

于 2013-10-11T03:12:29.903 に答える
4

10 進数のキーボードを取得する場合は、xml ファイルinputTypeに値を追加する必要があります。numberDecimalEditText

android:inputType="numberDecimal"

また、カンマとドットも使用する場合は、 xmlにdigitsも追加する必要があります。EditText

android:digits="0123456789.,"

Java でその結果が得られたら、ドットをカンマに置き換えることを忘れないでください。Double と Float はドットで区切られたテキストしか解析できないためです。

String test = "12,34";
String changed = test.replace(",",".")
float value = Float.parseFloat(changed)
于 2017-08-01T17:26:58.117 に答える