問題描述
EditText
中的inputType
numberDecimal
使用點(diǎn).
作為小數(shù)分隔符.在歐洲,通常使用逗號 ,
代替.即使我的語言環(huán)境設(shè)置為德語,小數(shù)點(diǎn)分隔符仍然是 .
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 .
有沒有辦法將逗號作為小數(shù)分隔符?
Is there a way to get the comma as decimal separator?
推薦答案
一種解決方法(直到 Google 修復(fù)此錯誤)是使用 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
}
這篇關(guān)于EditText 中帶有 numberDecimal inputType 的小數(shù)分隔符逗號 (',')的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!