我跑我的應用程序在模擬器中,一切工作正常,但是當我在我的設備中運行它(華爲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不過,它似乎像值正在改變,我沒有得到同樣的圖在模擬器和設備 –