我正在从EditText中检索一个数字:
long org=0;
String EnteredOrgAmount=amount.getText().toString();
if(!EnteredOrgAmount.equalsIgnoreCase("")) {
org=Long.parseLong(EnteredOrgAmount);
}
这很好用,直到我输入7.7,例如,我得到一个numberFormatException。我不能使用逗号,因为我将XML中的EditText声明为:android:inputType="numberDecimal"
有没有办法解决这个问题?
答案 0 :(得分:1)
而不是在Double中解析Long解析,如果只需要long值,则解析为double并以long值存储
double org=0;
String EnteredOrgAmount=amount.getText().toString();
if(!EnteredOrgAmount.equalsIgnoreCase("")) {
org=Double.parseDouble(EnteredOrgAmount);
}
长期只需声明组织长而不是双重
long org=0;
String EnteredOrgAmount=amount.getText().toString();
if(!EnteredOrgAmount.equalsIgnoreCase("")) {
org=(long)Double.parseDouble(EnteredOrgAmount);
}