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

Longで解析する代わりに、Doubleで解析し、long値のみが必要な場合は、doubleで解析し、long値で格納します。

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

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

長い間、組織をdoubleではなくlongと宣言するだけです

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

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