2015-04-16 44 views
-2

我正在一个android项目。我有一个问题,我无法找到答案。 有由Double.valueOf异常抛出Double.valueOf不一致

  1. Double.valueOf( “3E”)抛出的异常的差异,抛出该异常NumberformartException
  2. Double.valueOf( “3E5”),不会抛出同样的异常。

我检查,发现双变量的该值的情况下,2 30000.0

会有人知道之所以有行为差异。

+1

您期望'3e'解析到什么? – Radiodef

+8

'3e5'意思是'3 * 10^5',其中'^'是指幂。你可以在常规代码中使用这个常量(我认为,至少在几种语言中你可以) – Justin

回答

3

在此E代表exponent。所以这里

3e不是一个数字,但3e5 = 3*10^5

所以3e5不会抛出异常。

0

这里没有错误或不一致。 3e5是有效的输入。请参阅Javadoc

0

谢谢大家的帮助。 其实我对e被用作常量2.718 感到困惑,并完全忘记了3e5是3x10^5的符号。

再次感谢