在我的应用程序中,我编辑了文本框,用户输入了应用程序用来运行计算的小数值。
其他区域设置中的某些用户在输入数字时会报告问题,例如输入值和显示不同的值。我试图通过使用此方法从editText获取值来解决此问题:
public double stringToDouble(String s){
if (nf == null){
nf = NumberFormat.getInstance(Locale.US);
}
try {
return nf.parse(s).doubleValue();
} catch (ParseException e) {
e.printStackTrace();
return 0.0;
}
}
和
val = stringToDouble(et.getText().toString());
但显然这对某些人来说仍然不起作用。
斯洛文尼亚的一位用户报告说,如果
,它可以正常工作
- 设置;语言与键盘:
- 选择语言:设为英语(斯洛文尼亚)
- 触摸输入:只设置为英语和任何语言(我的情况 斯洛文尼亚)
- 双语预测:关闭
- 文字预测:关闭
获取double值的正确方法是什么? 感谢
答案 0 :(得分:7)
从它的外观来看,正确的方法是:
public double stringToDouble(String s){
if (nf == null){
nf = NumberFormat.getInstance(Locale.getDefault());
}
try {
return nf.parse(s).doubleValue();
} catch (ParseException e) {
e.printStackTrace();
return 0.0;
}
}
到目前为止,似乎对我有用。