首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++浮点到字符串转换失败

C++浮点到字符串转换失败
EN

Stack Overflow用户
提问于 2016-10-13 07:54:21
回答 1查看 353关注 0票数 3

我正在particle.io火花平台上工作,目前我正试图打印一个花车作为一个字符串。我看到了一些解决方案,您可以使用字符串流来转换浮点数。

我的执行情况如下:

代码语言:javascript
复制
#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());
}

这将产生以下结果:

代码语言:javascript
复制
Temp 1:
Temp 2: 21.35
6

此外,这也无法编译:

代码语言:javascript
复制
Serial.println(tempCString);

有以下错误:

代码语言:javascript
复制
error: no matching function for call to 'USBSerial::println(std::string&)'

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-16 05:22:07

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

代码语言:javascript
复制
float myFloat = 6.123;
String floatString(myFloat, 2);

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40015287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档