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

时间:2013-10-11 03:09:48

标签: 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));

2 个答案:

答案 0 :(得分:6)

将以下属性添加到xml中的EditText

android:inputType="numberDecimal"

这将通知键盘输入小数。

答案 1 :(得分:2)

如果你想获得十进制数字键盘,你应该在inputType xml文件中添加值为numberDecimal的{​​{1}}:

EditText

如果你也想使用逗号和点,你也应该在android:inputType="numberDecimal" xml中添加digits

EditText

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

android:digits="0123456789.,"