Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java parseDouble()异常_Java_Android_Double_Numberformatexception_Decimalformat - Fatal编程技术网

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。