小数点逗号(“,”)与numberDecimal inputType中的EditText小数点、逗号、numberDecimal、inputType

由网友(想挽留却没有理由)分享简介:在 inputType numberDecimal 在的EditText 使用点。作为小数点分隔符。在欧洲它的共同使用逗号,来代替。虽然我的区域设置为德国小数点分隔符仍是'。The inputType numberDecimal in EditText uses the dot '.' as decimal se...

inputType numberDecimal 的EditText 使用点。作为小数点分隔符。在欧洲它的共同使用逗号,来代替。虽然我的区域设置为德国小数点分隔符仍是'。

The inputType numberDecimal in EditText uses the dot '.' as decimal separator. In Europe it's common to use a comma ',' instead. Even though my locale is set as german the decimal separator is still the '.'

有没有办法让逗号作为小数点分隔符?

Is there a way to get the comma as decimal separator?

推荐答案

一个解决方法(直到谷歌修复这个bug)是使用的EditText Android的:inputType =numberDecimal机器人:0123456789位数=

A workaround (until Google fix this bug) is to use an EditText with android:inputType="numberDecimal" and android:digits="0123456789.,".

然后,TextChangedListener添加到的EditText具有以下afterTextChanged:

Then add a TextChangedListener to the EditText with the following afterTextChanged:

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
}
阅读全文

相关推荐

最新文章