sprintf给出了错误的数字Arduino

时间:2013-12-27 23:27:55

标签: c arduino

尝试将浮动添加到下面的链接。

float val1 = 51.48

sprintf(buffer, "/xxx/xxx.php?load=%d", val1);

当我打印val1时它显示为51.48但是当我使用sprintf然后打印缓冲区时它显示-6501我不明白发生了什么。

1 个答案:

答案 0 :(得分:1)

在sprintf中使用%f而不是%d。 %d用于打印整数,因此它会截断小数点后的数字。

float val1 = 51.48

sprintf(buffer, "/xxx/xxx.php?load=%f", val1);