1. ホーム
  2. android

[解決済み] EditTextのnumberDecimal inputTypeで小数点以下の区切りカンマ(',')を使用する。

2022-04-28 09:04:35

質問

その inputType numberDecimalEditText はドットを使用します。 . を小数点の区切り文字として使用します。ヨーロッパでは、コンマを使用するのが一般的です。 , の代わりに ロケールがドイツ語になっていても、小数点以下の区切り記号が .

カンマを小数点以下の区切り文字にする方法はありますか?

どのように解決するのですか?

回避策としては(Googleがこのバグを修正するまでは)、以下のように EditText と共に android:inputType="numberDecimal"android:digits="0123456789.," .

そして、EditTextに以下のafterTextChangedでTextChangedListenerを追加します。

public void afterTextChanged(Editable s) {
    double doubleValue = 0;
    if (s != null) {
        try {
            doubleValue = Double.parseDouble(s.toString().replace(',', '.'));
        } catch (NumberFormatException e) {
            //Error
        }
    }
    //Do something with doubleValue
}