Arduino string object


Construye una instancia de la clase String. Existen varias versiones que construyen cadenas a partir de diferentes tipos de datos

oscar Escrito por oscar 09 April 2019 3831 0

Construye una instancia de la clase String[1]. Existen varias versiones que construyen cadenas a partir de diferentes tipos de datos (es decir, las formatean como secuencias de caracteres), que incluyen:

  • Una cadena constante de caracteres, entre comillas dobles (es decir, una matriz char).
  • Un solo carácter constante, en comillas simples.
  • Otra instancia del objeto String.
  • Un entero constante o un entero largo.
  • Un entero constante o entero largo, usando una base especificada.
  • Una variable entera o larga.
  • Una variable entera o larga, utilizando una base especificada.
  • Un flotador o doble, usando un decimal determinado.

La construcción de una cadena a partir de un número da como resultado una cadena que contiene la representación ASCII de ese número. El valor predeterminado es base diez, por lo que:

String thisString = String(13);
//te da el String "13". Puedes usar otras bases, sin embargo. Por ejemplo,

String thisString = String(13, HEX);
//te da la Cadena "D", que es la representación hexadecimal del valor decimal 13. O si prefieres binario,

String thisString = String(13, BIN);
//te da la Cadena "1101", que es la representación binaria de 13.

Sintaxis

String(val)
String(val, base)
String(val, decimalPlaces)

Parámetros

  • val: Una variable para formatear como una cadena - Tipos de datos permitidos: cadena, char, byte, int, long, unsigned int, unsigned long, float, double.
  • base(opcional): La base en la que se debe formatear un valor integral.
  • decimalPlaces( solo si val es flotar o doble): Los decimales deseados.

Devoluciones

Una instancia de la clase String.

Ejemplo

//Declaramos las variables de tipo string
String stringOne, stringTwo;

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ;
  }
  //Creación de un string simple
  stringOne = String("Esto es un string");
  Serial.println(stringOne);//Esto es un string
  
  //Convirtiendo un caracter en string
  stringOne = String('a');
  Serial.println(stringOne);//a

  //converting a constant string into a String object
  stringTwo = String("Esto es otro string");
  Serial.println(stringTwo);//Esto es otro string

  //Concatenar dos o mas strings
  stringOne = String(stringTwo + " y más");
  Serial.println(stringOne);//Esto es otro string y más

  //Usando valores constante enteras
  stringOne = String(13);
  Serial.println(stringOne);//13

  //Usando un entero con base decial
  stringOne = String(analogRead(0), DEC);
  Serial.println(stringOne);//449 - depende de analogRead()

  //Usando entero con base hexadecimal
  stringOne = String(45, HEX);
  Serial.println(stringOne);//2d

  //Usando entero con base binaria
  stringOne = String(255, BIN);
  Serial.println(stringOne);//11111111
  
  //Usando entero largo con base decimal
  stringOne = String(millis(), DEC);
  Serial.println(stringOne);//572 - depende de millis()
  
  //Usando un valor flotante y los lugares decimales
  stringOne = String(5.6984, 3);
  Serial.println(stringOne);//5.698
}

void loop() {
}

Referencias

[1] arduino, https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/ Consultado abril 2019


Comentario

Debe aceptar antes de enviar