首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

上座机软件

2013-08-04 
上位机软件通过usb串口上传数据到上位机,其中数据是小数比如是8.4,到上位机软件显示出来8.4,这是没错的,但

上位机软件
通过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。。。

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

热点排行