마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

csv에관해 질문했던사람입니다.

0 추천

현제 %f로 출력하면 0.0 값만나오는데 배열을 문자열 배열로 만들어야하나요?

아래는 소스부분과 csv파일에 들어있는 내용입니다. 18000줄정도 됩니다.

float[][] date = new float[18000][10];

try {
InputStream fin = openFileInput("test1.csv");
InputStreamReader in = new InputStreamReader(fin);
BufferedReader reader = new BufferedReader(in);
String line ="";
 
 
int row=0,i;
while ((line=reader.readLine())!=null){
String[] token=line.split(" , ",-1);
for(i=0;i<6;i++)
date[row][i]=Float.parseFloat(token[i]);
row++;
}
in.close();
 
 
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
 e.printStackTrace();
}
String str=String.format("%f",date[6][6]);
t1.setText(str);
 
}

 

익명사용자 님이 2014년 8월 17일 질문
2014년 8월 17일 수정

2개의 답변

0 추천

스트링포맷은 말그대로 스트링형식으로 변환되는 것입니다.

변환형식에 맞게 출력을 컨버팅 하시던지, 출력에 맞게 변환을 하시던지 하면 될 거 같은데요.

 

그리고 아까와는 못본 부분이 전체에 try/catch가 추가된건가요?

아까의 에러부분을 더블클릭하면 해당 라인으로 이동할텐데, 대충 봤을 땐

String str=String.format("%f",date[6][6]);  이 부분이 아닐까 싶었었는데 (아까는 %d였죠.?)
 
String str=String.format("%f",date[6][6]);
t1.setText(str); 이 두줄을 try/catch 하시고 catch일때 다른 고정값을 setText하여
찾아보시면 될 거 같은데요.
 
저 역시도 csv 파일을 sqlite3를 이용해서 db파일로 만들고 asset폴더에 넣어
안드로이드 내부 db로 복사작업 한 경험이 있습니다.
 
개발자초심 (21,220 포인트) 님이 2014년 8월 17일 답변
수정하고 나니 csv 파일을 불러오는 과정에서 오류가난거같은데 어떻게 해결해야하나요???
0 추천
for문을 i < 6까지 돌았으니

정상적으로 파일을 읽었다면 [5]까지만 값이 들어갔겠죠

[6]은 당연히 0이 나올겁니다
alkyne (22,960 포인트) 님이 2014년 8월 17일 답변
...