Число в строку

Тема в разделе "Arduino & Shields", создана пользователем BlinkBrahman, 1 апр 2022.

  1. BlinkBrahman

    BlinkBrahman Нуб

    Пытаюсь вывести чиловую переменную на LSD, возникло множество трудностей. Во первых не получается зарезервировать переменную string. Во вторых я не нашел оперетора который бы это сделал. подскажите пожалуйста код и если нужно библиотеки.
     
  2. SergeiL

    SergeiL Оракул Модератор

    Понятное дело, что трудно.
    Для начала напишите какую марку LSD используете.
    Вставляйте код, где не получается со стрингоим.
     
  3. parovoZZ

    parovoZZ Гуру

    LSD? Это чё такое? Неужели грибы?
     
    Airbus нравится это.
  4. Airbus

    Airbus Радиохулиган Модератор

    Олбанские
     
  5. SergeiL

    SergeiL Оракул Модератор

    Не, синтетика.
    А какая я спросил.
     
  6. Nekto_nikto

    Nekto_nikto Гик

    Либо так:
    Код (C++):

    String S;
    byte b;
    .....
    S=(String)b  // Через приведение типа
     
    Либо так в случае если размер переменной более 2-х байт:
    Код (C++):
    String S;
    char c[32];
    unsigned long b;
    ....
    ultoa(b,c,10);
    S=c;
     
  7. b707

    b707 Гуру

    Причем тут размер переменной "более 2х байт"? Хотите сказать, что с лонгом так не прокатит:?
    Код (C++):
    String S;
    long b;
    .....
    S=(String)b;  // Через приведение типа
    А вы попробуйте

    И нафига во втром коде строка char с[32] длиной аж 32 символа? максимальное значение в unsigned long - 4 294 967 295 всего-то 10+1 символов
     
    Последнее редактирование: 2 апр 2022
  8. Nekto_nikto

    Nekto_nikto Гик

    Раз я пишу, значит не прокатит, значит я ДО этого искал решение аналогичной проблемы и нашел его.
    Вы в эту сторону даже не думали?
     
  9. b707

    b707 Гуру

    если у вас не прокатило - значит вы просто ничего не поняли...
    Документацию на String читайте
    Цитата, из чего может создаваться String:
    • a constant string of characters, in double quotes (i.e. a char array)
    • a single constant character, in single quotes
    • another instance of the String object
    • a constant integer or long integer
    • a constant integer or long integer, using a specified base
    • an integer or long integer variable
    • an integer or long integer variable, using a specified base
    • a float or double, using a specified decimal places
     
    Последнее редактирование: 2 апр 2022
  10. b707

    b707 Гуру

    тест
    Код (C++):
    void setup() {
    Serial.begin(115200);
    String S;
    long b = 333444;
    S=(String)b;  // Через приведение типа
    Serial.println(S);
    }

    void loop() {}
    печатает
    Код (C++):
    333444
     
    BlinkBrahman нравится это.
  11. Nekto_nikto

    Nekto_nikto Гик

    Ну а у меня не печатало, и что с того? Что вы сейчас сказать хотите, что вариант плохой? Да и к тому же если бы все было так замечательно, как вы пишете, то не было бы вопросов на эту тему и в русскоязычном и в англоязычном сегменте. Так что разговор ни о чем.
     
  12. SergeiL

    SergeiL Оракул Модератор

    А без String то на МК никак не обойтись? :)
     
  13. b707

    b707 Гуру

    нет, хочу сказать что из вас советчик плохой.Если сами не разобрались в вопросе, не надо другим голову забивать.

    Про длину строки какую отмазку придумаете?
     
  14. Nekto_nikto

    Nekto_nikto Гик

    Отмазку?!
    А перед кем мне тут оправдываться?
    Лично я тут не вижу тех, кому я тут что либо должен.
    А по поводу советчик плохой, так это ваше субъективное мнение, которое вы стали выражать, только после того как я предложил аж ДВА варианта решения.
     
  15. b707

    b707 Гуру

    и в обоих налажали.
    В одном выдумали несуществующее ограничение на 2хбайтовые переменные, в другом взяли буфер втрое больше нужного.
    Все это не имеет большого значения, конечно, если бы не ваше желание строить из себя знатока.
     
  16. BlinkBrahman

    BlinkBrahman Нуб

  17. BlinkBrahman

    BlinkBrahman Нуб

    эта
    строка не работает(
     
  18. BlinkBrahman

    BlinkBrahman Нуб

    тоже ошибка
     
  19. BlinkBrahman

    BlinkBrahman Нуб

    error: 'b' was not declared in this scope
     
  20. User248

    User248 Нерд

    Это пример. Доработайте его под свой код.
    Можно и так:
    Код (C++):
    String (числовая переменная);
     
    BlinkBrahman нравится это.