首页 > 解决方案 > 如何将浮点数放入C中的char数组中?

问题描述

我想将一些浮点数放在 C 中的一个字符串中,用于 arduino 项目。但我不知道可以简单地做到这一点而不需要大量存储(因为使用 arduino 和 8kb)。

这是我的字符串:

char http_cmd[] = "GET /index.php?lat=*****&long=***** HTTP/1.0\r\n"
                  "Host: 39c309ae.ngrok.io\r\n"
                  "\r\n";

我想用数字变量替换那个 *****s,比如:

float latitude = 36.423156, longitude = 48.526484;

标签: carrays

解决方案


使用 sprintf()

float latitude = 36.423156, longitude = 48.526484;
sprintf( http_cmd, "GET /index.php?lat=%f&long=%f HTTP/1.0\r\n 
         Host: 39c309ae.ngrok.io\r\n\r\n", latitude, longitude);

您可以通过打印字符、整数、浮点数来组成自己的字符串......您可以决定打印到数组中的位数(在本例中为 4 位)。


推荐阅读