0

私はNXC(eXactly Cではない)の.csvファイルに値を保存し、後でそれらを呼び出しています。私が抱えている問題は、セルから負の値を呼び出すと、-123 ではなく 0123 として表示され、追加の計算がすべてオフになることです。

現在のコードは次のとおりです。

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

この問題が今私に大きなストレスを与えているので、この問題を修正する方法を誰か説明できますか.

4

1 に答える 1

0

StrToNum は負の数を変換する必要があります。整数が 0 から始まるのは少し奇妙です。Enhanced NBC/NXC ファームウェアも使用する必要があります。

最初に: 出力を書き込む前に、常に画面をクリアする必要があります。使用する:

NumOut(0,LCD_LINE1,lstFwd, DRAW_OPT_CLEAR_LINE);

問題が解決しない場合は、次を試してください。

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);
于 2014-05-01T19:29:20.470 に答える