我有一個通過解析文件中的數據創建的2d數組。該方法將數據的每個部分發送到一個字符串。我試圖將數組從字符串轉換爲浮點。除了一列以外,一切都打印完好。將字符串轉換爲浮點會產生意料之外的回報。 Java
例如:
2015/10/21,113.7600,42276880.0000,114.0000,115.5800,113.7000
2015/10/20,113.7700,48929200.0000,111.3400,114.1700,110.8200
2015/10/19,111.7300,29723750.0000,110.8000,111.7500,110.1100
轉換爲:
0.0 113.76 4.227688E7 114.0 115.58 113.7
0.0 113.77 4.89292E7 111.34 114.17 110.82
0.0 111.73 2.972375E7 110.8 111.75 110.11
日期列是爲了返回0.0但第3列返回一個響應怪異。這是我的代碼或數據的錯誤嗎?
將字符串數組浮點陣列方法
public void createDataArray(String [] [] n){
for(int x=0;x<n.length;x++) {
for(int y=0;y<n [x].length;y++) {
switch(y) {
case 0:
dataArray[x] [y] = 0;
break;
case 1:
dataArray[x] [y] = new Float(n[x] [y]);
break;
case 2:
dataArray[x] [y] = new Float(n[x] [y]);
break;
case 3:
dataArray[x] [y] = new Float(n[x] [y]);
break;
case 4:
dataArray[x] [y] = new Float(n[x] [y]);
break;
case 5:
dataArray[x] [y] = new Float(n[x] [y]);
break;
case 6:
dataArray[x] [y] = new Float(n[x] [y]);
break;
}
}
}
}
新陣列打印方法
public void printArray() {
for(int x=0;x<dataArray.length;x++) {
for(int y=0;y<dataArray[x].length;y++) {
System.out.printf("%s ", dataArray[x] [y]);
}
System.out.println();
}
}
如果您想更多的信息,就問我。我相當肯定它的數據有問題,但即使給它假的值,它仍然會返回類似的響應。
你有沒有嘗試存儲在一個原始的浮點數組,然後Float.parseFloat(dataArray [x] [y]); – JH95