Arduino String неправильно конвертирует целое число в строку
Я использую TinkerCad в качестве симулятора Arduino UNO R3. Моя цель - преобразовать int в строку, но следующий код печатает 188 вместо 180.
void setup()
{
Serial.begin(115200);
}
void loop()
{
Serial.println(String(180));
}
Выход
188
как вы можете видеть на скриншоте из монитора последовательного порта TinkerCad выше. Почему возникает странная проблема с
String
?
3 ответа
Кажется, проблема в tinkercad. Ваш странный набросок хорошо работает на реальном Arduino.
Была такая же проблема с tinkercad.
String (intval) or (String) intval was not working.
Kludge: использование
lcd.write(int);
вместо этого, если возможно (например, используйте int, где вы можете, и отправьте int напрямую для записи).
Это действительно странно. Попробуй это:
int intValue = 180;
string stringValue;
void setup()
{
Serial.begin(9600);
}
void loop()
{
stringValue = String(intValue);
Serial.println(stringValue);
}