我将值保存到 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);
谁能解释一下如何纠正这个问题,因为它现在给我带来了很大的压力。
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)