Java parseDouble()异常
我有一个十进制格式:Java parseDouble()异常,java,android,double,numberformatexception,decimalformat,Java,Android,Double,Numberformatexception,Decimalformat,我有一个十进制格式: DecimalFormat formatSci = new DecimalFormat("#.#########E0"); 当我有 text.append(formatSci.format(answer));//answer is a double value 在那之后: double b = Double.parseDouble(text.toString());//text is something like 2.3333333E10 它抛出NumberForma
DecimalFormat formatSci = new DecimalFormat("#.#########E0");
当我有
text.append(formatSci.format(answer));//answer is a double value
在那之后:
double b = Double.parseDouble(text.toString());//text is something like 2.3333333E10
它抛出NumberFormatException。显然,它在android 4.4.4及更高版本上工作,而不是在旧版本上工作,这有什么不对呢?这可能是因为您的内部语言环境规范 尝试使用:
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse(text.toString());
double d = number.doubleValue();
// OR
double d = Double.parseDouble(text.toString());
System.out.println(Double.parseDouble(“2.3333333 e10”)代码>工作正常,因此其他地方出现了问题。问题是否存在于DecimalFormat中?DecimalFormat SCI=新的DecimalFormat(“#.#########E0”);double b=double.parseDouble(formatSci.format(2.3333333 e10));但这不起作用。这是一个区域设置问题,请参阅@Priyank-answer。