首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在连接字符串和int时遇到了问题

我在连接字符串和int时遇到了问题
EN

Stack Overflow用户
提问于 2014-10-27 01:49:16
回答 1查看 613关注 0票数 0

我有下面的代码来读取光传感器,转换为lux,与“lux”连接。并将其发送到我的SmartThings云中。最终,我希望将格式化为lux.110的值发送到SmartThings

代码语言:javascript
复制
void checkLux() { 
  float logLux = analogRead(lightPIN) * logRange / rawRange;
  int luxValue = pow(10, logLux); 
  String statusUpdate = "lux." + luxValue; 
  Serial.println(statusUpdate);
  smartthing.send(statusUpdate); 
  delay(1000);
}

上面的代码向串行监视器吐出一些奇怪的字符组合,并且不打印lux。或者是奢华的价值。如果我添加这行String luxString = "lux.";并修改下面的行,一切都会正常工作。有没有想过为什么我需要单独声明这个字符串。根据文档,这两个都应该工作得很好。

此外,如果在这段代码中有任何关于变量节省的建议。我对此还不是很在行。

EN

回答 1

Stack Overflow用户

发布于 2014-10-27 07:26:09

由于Arduino只使用C++,大多数C++函数也可以使用,所以不要将自己限制在Arduino's reference pages上。

显然,字符串构造函数不支持数字,必须首先使用String()函数转换它们,如here所示。

或者,我认为您可以像这样附加一个字符串:

代码语言:javascript
复制
String statusUpdate = "lux.";
statusUpdate += luxValue;

正如here所见,

这与使用字符串的concat函数相同。

代码语言:javascript
复制
statusUpdate.concat(luxValue);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26576046

复制
相关文章

相似问题

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