EditText
中的inputType
numberDecimal
使用点.
作为小数分隔符.在欧洲,通常使用逗号 ,
代替.即使我的语言环境设置为德语,小数点分隔符仍然是 .
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?
一种解决方法(直到 Google 修复此错误)是使用 EditText
和 android:inputType="numberDecimal"
和 android:digits="0123456789.,"
.
A workaround (until Google fix this bug) is to use an EditText
with android:inputType="numberDecimal"
and android:digits="0123456789.,"
.
然后使用以下 afterTextChanged 将 TextChangedListener 添加到 EditText:
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
}
这篇关于EditText 中带有 numberDecimal inputType 的小数分隔符逗号 (',')的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!