Mat*_*att 3 string double parsing android
在我的应用程序中,我编辑了文本框,用户输入的小数值是应用程序用来运行计算的.
其他区域设置中的某些用户在输入数字时会报告问题,例如输入值和显示不同的值.我试图通过使用此方法从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;
}
}
Run Code Online (Sandbox Code Playgroud)
和
val = stringToDouble(et.getText().toString());
Run Code Online (Sandbox Code Playgroud)
但显然这仍然不适合某些人.
斯洛文尼亚的一位用户报告说,如果可行的话
- 设置; 语言和键盘:
- 选择语言:设为英语(斯洛文尼亚)
- 触摸输入:只设置为英语和任何语言(我的情况斯洛文尼亚)
- 双语预测:关闭
- 文字预测:关闭
获取double值的正确方法是什么?谢谢
从它的外观来看,正确的方法是:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,似乎对我有用.