gpt4 book ai didi

C++ float 到 stringstream 的字符串转换失败

转载 作者:太空狗 更新时间:2023-10-29 23:13:21 27 4
gpt4 key购买 nike

我正在 particle.io Spark 平台上工作,目前一直在尝试将 float 打印为字符串。我看到了一些使用字符串流来转换 float 的解决方案。

我的实现如下:

#include <sstream>

void loop()
{
float tempC = 21.35;

std::ostringstream stream;
stream << tempC;
std::string tempCString = stream.str();

// why does this give me a blank string?
Serial.print("Temp 1: ");
Serial.println(tempCString.c_str());

// while this outputs the float
Serial.print("Temp 2: ");
Serial.println(tempC);

Serial.println(tempCString.size());
}

这会产生以下输出:

Temp 1:
Temp 2: 21.35
6

另外,编译失败:

Serial.println(tempCString);

出现以下错误:

error: no matching function for call to 'USBSerial::println(std::string&)'

编辑:链接到关于 Serial.print 的粒子文档

https://docs.particle.io/reference/firmware/core/#print-

最佳答案

我找到了答案。不确定这是否适用于常规 c++,但对于运行在 particle spark 上的 c++ 版本,解决方案如下:

float myFloat = 6.123;
String floatString(myFloat, 2);

这给了我一个可以使用的字符串!

关于C++ float 到 stringstream 的字符串转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com