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

Arduino 我在连接字符串和int时遇到问题,arduino,Arduino,我有下面的代码来读取光传感器,将其转换为勒克斯,并将其发送到我的SmartThings云。 最终,我希望将一个值发送到SmartThings,格式为lux.110 void checkLux() { float logLux = analogRead(lightPIN) * logRange / rawRange; int luxValue = pow(10, logLux); String statusUpdate = "lux." + luxValue; Serial.

我有下面的代码来读取光传感器,将其转换为勒克斯,并将其发送到我的SmartThings云。 最终,我希望将一个值发送到SmartThings,格式为
lux.110

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。”并修改下面的行,一切都很好。关于为什么需要单独声明此字符串的任何想法。根据文件,两者都可以正常工作


此外,如果在这段代码中有任何关于变量节省的建议。我还不太擅长。

< P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。 显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:

String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同

statusUpdate.concat(luxValue);

<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。 显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:

String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同

statusUpdate.concat(luxValue);

<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。 显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:

String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同

statusUpdate.concat(luxValue);

<> P>因为ARDUINO只使用C++,大多数C++函数也会工作,所以不要限制自己。 显然,字符串构造函数不支持数字,您必须首先使用String()函数转换它们,如图所示。
或者,我认为您可以附加如下字符串:

String statusUpdate = "lux.";
statusUpdate += luxValue;
如图所示,
这与使用String的concat函数相同

statusUpdate.concat(luxValue);

您可以使用concat函数
statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数
statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数
statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。您可以使用concat函数
statusUpdate.concat(luxValue)
这不能解决您的问题吗?@ahaltindis这是一个答案,请放在答案部分。