0

我正在从 EditText 中检索一个数字:

long org=0;
String EnteredOrgAmount=amount.getText().toString();

if(!EnteredOrgAmount.equalsIgnoreCase("")) {
    org=Long.parseLong(EnteredOrgAmount);
}

这工作正常,直到我输入 7.7,例如,我得到一个 numberFormatException。我不能使用逗号,因为我将 XML 中的 EditText 声明为: android:inputType="numberDecimal"

有没有办法解决这个问题?

4

1 回答 1

1

而不是在 Double 中的 Long 解析中进行解析,如果您只需要 long 值,则在 double 中解析并存储在 long 值中

double org=0;
String EnteredOrgAmount=amount.getText().toString();

if(!EnteredOrgAmount.equalsIgnoreCase("")) {
    org=Double.parseDouble(EnteredOrgAmount);
}

长期只声明 org as long 而不是 double

long org=0;
String EnteredOrgAmount=amount.getText().toString();

if(!EnteredOrgAmount.equalsIgnoreCase("")) {
    org=(long)Double.parseDouble(EnteredOrgAmount);
}
于 2013-01-23T12:50:41.500 回答