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);
  
}
Другие вопросы по тегам