如何在输入字段中输入小数 - android

WXR*_*WXR 1 java android decimal

我刚开始玩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));
Run Code Online (Sandbox Code Playgroud)

Szy*_*mon 6

将以下属性添加到EditTextin xml中:

android:inputType="numberDecimal"
Run Code Online (Sandbox Code Playgroud)

这将通知键盘输入小数.


小智 5

如果你想获得十进制数字键盘,你应该在xml 文件中添加inputType值:numberDecimalEditText

android:inputType="numberDecimal"
Run Code Online (Sandbox Code Playgroud)

如果你还想使用逗号和点,你应该digitsEditTextxml 中添加:

android:digits="0123456789.,"
Run Code Online (Sandbox Code Playgroud)

当你在 Java 中得到这个结果时,不要忘记用逗号替换点,因为 Double 和 Float 只能解析点分隔的文本:

String test = "12,34";
String changed = test.replace(",",".")
float value = Float.parseFloat(changed)
Run Code Online (Sandbox Code Playgroud)