我得到一个 NumberFormatException : invalid double "111,000,000"in this line of code :
double SalePotential = Double.valueOf(EtPotential.getText().toString());
一开始我使用 Numberformat 来格式化我的 double 值以分隔数字并将其插入到 EditText 但是当我尝试检索 EditText 的值时它抛出异常:
NumberFormat f = NumberFormat.getInstance();
EtPotential.setText(String.valueOf(f.format(PTData.SalePotential)));
我也试过 DecimalFormat 或 Double.parseDouble 但没有成功。任何帮助,将不胜感激! :
DecimalFormat f = new DecimalFormat("###.###", DecimalFormatSymbols.getInstance());
double SalePotential = Double.parseDouble(EtPotential.getText().toString());
最佳答案
解析前去掉“,”
double SalePotential = Double.parseDouble(EtPotential.getText().toString().replace(",", ""));
更新:正确实现
double salePotential = 0; // Variable name should start with small letter
try {
salePotential = Double.parseDouble(EtPotential.getText().toString().replace(",", ""));
} catch (NumberFormatException e) {
// EditText EtPotential does not contain a valid double
}
编码愉快 :)
关于android - 将 String 转换为 Double 时无效的 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434386/