我将值保存到NXC(而不是eXactly C)的.csv文件中,然后在以后的某个时间点调用它们。我遇到的问题是,当从单元格回调任何负值时,它显示为0123,而不是-123,这会打乱我所有的额外计算。
当前代码为:
OpenFileRead("map.csv", fSize, count);
until (eof == true) {
ReadLnString(count, val);
int lstFwd = StrToNum(val);
NumOut(0,LCD_LINE1,lstFwd);
}
while(true);谁能解释一下如何纠正这个问题,因为它现在给我带来了很大的压力。
发布于 2014-05-02 03:29:20
StrToNum应该转换负数。整数以0开头,这有点奇怪。您还应使用增强型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);https://stackoverflow.com/questions/23269104
复制相似问题