2014-04-24 4 views
0

NXC (별표 C)의 .csv 파일에 값을 저장하고 나중에 특정 시점에 호출합니다. 내가 겪고있는 문제는 셀에서 음수 값을 다시 호출 할 때 -123 대신 0123으로 표시되어 모든 추가 계산을 수행하지 않는 것입니다.NXC의 파일에서 음의 값이 반환되었습니다.

현재 코드는 다음과 같습니다

OpenFileRead("map.csv", fSize, count); 
    until (eof == true) { 
    ReadLnString(count, val); 
    int lstFwd = StrToNum(val); 
    NumOut(0,LCD_LINE1,lstFwd); 
    } 
while(true); 

사람이 지금 나에게 스트레스의 큰 거래를 일으키는으로이 문제를 해결하는 방법을 설명 할 수 있습니다.

답변

0

StrToNum은 음수를 변환해야합니다. 정수 번호가 0으로 시작한다는 점이 약간 이상합니다. 또한 NBC/NXC 펌웨어를 사용해야합니다.

첫 번째 : 출력을 작성하기 전에 항상 화면을 지워야합니다! 사용 :

string val; 
OpenFileRead("map.csv", fSize, count); 
    until (eof == true) { 
    ReadLnString(count, val); 
    int lstFwd = StrToNum(val); 
    if(SubStr(val, 0, 1) == "-") lstFwd *= -1; // Check if first char is "-" 
    NumOut(0,LCD_LINE1,lstFwd, DRAW_OPT_CLEAR_LINE); 
    } 
while(true); 
:

NumOut(0,LCD_LINE1,lstFwd, DRAW_OPT_CLEAR_LINE); 

이 문제가 계속하려고 존재하는 경우