读书人

上座机软件

发布时间: 2013-08-04 18:26:16 作者: rapoo

上位机软件
通过usb串口上传数据到上位机,其中数据是小数比如是8.4,到上位机软件显示出来8.4,这是没错的,但是比如4.0,到上位机软件显示出来4,为什么不是4.0啊,请问这是什么原因?
[解决办法]
strdata 是 CString 类型吗? 用 "%1.1f" 试试
[解决办法]
我这本strdata得到的是0.4,你可以单步调试,看看strdata的值是多少,估计你显示组件的问题。

引用:
Quote: 引用:

格式没有问题,你用sprintf试试看,Format说不定有问题:

#include <stdio.h>

int main(void)
{
char strdata[32];

sprintf(strdata, "%-.1f\n", 0.4);
printf("%s\n", strdata);

return 0;
}


Quote: 引用:

Quote: 引用:

软件里面自己格式化来显示的呗


引用:
取决于上位机的格式化浮点数到字符串的处理。

Quote: 引用:

又数据0.4,到上位机软件显示出来是.4,不是0.4

strdata.Format("%-.1f",shld_data); 这样好像没错吧,应该怎么处理?
好像改了没作用,还是显示的.4。。。

[解决办法]
最简单的办法:统统都按字符串来传输

读书人网 >C++

热点推荐