如果我在EditText中输入任何数字,我就不会得到异常。但是,如果我输入一个带小数的数字,我得
java.lang.NumberFormatException:无效的int:" 55555.96"
String inputamount中的值对于十进制数是正常的,而当它被解析为int时,只有当它是十进制数时才会出现此错误。 当我尝试使用parseInt,valueOf,long ..总之,我得到了这个异常。
EditText xml:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:padding="-11dp"
android:width="300dp"
android:inputType="numberDecimal"
android:digits="0123456789.00"
android:textSize="34sp"
android:editable="true"
android:layout_below="@+id/listView2"
android:textStyle="bold"
android:maxLength="20"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="163dp"
android:hint="Payment"
android:maxWidth="222dp" />
代码:
amount=(EditText) findViewById(R.id.editText);
String inputamount = amount.getText().toString();
int iii = Integer.valueOf( inputamount.toString());
int ii=0;
ii=Integer.parseInt(inputamount.toString());
long lg=Integer.parseInt(inputamount);
答案 0 :(得分:0)
使用以下代码行
amount=(EditText) findViewById(R.id.editText);
String inputamount = amount.getText().toString();
if(inputamount.contains("."))
{
float jjj =Float.valueOf(inputamount.toString())
}
else
{
int iii = Integer.valueOf( inputamount.toString());
}
答案 1 :(得分:0)
试试这个
amount=(EditText) findViewById(R.id.editText);
String inputamount = amount.getText().toString();
int ii=0;
double d =Double.parseDouble(inputamount.toString().trim());
ii = (int) d;