我跑我的应用程序在模拟器中,一切工作正常,但是当我在我的设备中运行它(华为U8650)我得到NumberFormatException异常:NumberFormatException异常的设备,但是不能在模拟器
GraphViewData[] aux2 = new GraphViewData[aux.length];
for(int i=0;i<aux.length;i++)
{
System.out.println("reps "+Repetitions+", dato "+i+" = "+aux[i]);
if(aux[i] != null)
{
try{
aux2[i]= new GraphViewData(i, Double.parseDouble(aux[i]));
}catch(Exception w)
{
Toast.makeText(this, "num: "+aux[i], Toast.LENGTH_LONG).show();
Toast.makeText(this, w.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
唯一的例外是: aux35 [i] = new GraphViewData(i,Double.parseDouble(aux [i])); 好吧,你会认为aux [i]会解析为不正确的格式,但所有的数字都是这样的:70.5或者像这样84 所以我不知道为什么它只在真实设备中给出这种例外,但不是在模拟器中。
有什么建议吗?提前致谢。
最有可能的一个语言环境的问题。在一些地区,70,5将会预期而不是70.5 – njzk2
我认为这可能会帮助你http://stackoverflow.com/questions/7477995/locale-independent-string-to-double –
感谢@Ram kiran与没有NumberFormatException不过,它似乎像值正在改变,我没有得到同样的图在模拟器和设备 –