Diferencia entre revisiones de «objeto.toInt()»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
(Referencias)
Línea 94: Línea 94:
 
== Referencias ==
 
== Referencias ==
 
* [https://www.arduino.cc/en/Tutorial/StringToInt Guia de referencia de Arduino]
 
* [https://www.arduino.cc/en/Tutorial/StringToInt Guia de referencia de Arduino]
* [https://www.luisllamas.es/convertir-texto-a-numero-arduino/ Luis Llamas]
+
* [https://www.luisllamas.es/convertir-texto-a-numero-arduino/ Convertir texto a numero] - Luis Llamas
  
 
[[Category:Funciones]]
 
[[Category:Funciones]]

Revisión del 16:29 3 abr 2019

Descripción

Convierte una cadena válida en un entero. La cadena de entrada debe comenzar con un número entero. Si la cadena contiene números no enteros, la función dejará de realizar la conversión.

Sintaxis

objeto.toInt();

Parámetros

objeto
nombre de la instancia de la clase String.

Retorna

El valor convertido (long), o 0 en caso de que la cadena no empiece con una secuencia válida.

Advertencias

Nada.

Ejemplo 1

String cadena = "";

void setup(){ 
   Serial.begin(9600);
   Serial.println("Cadena toInt():"); 
} 

void loop() { 
   while (Serial.available()) { 
      byte letra=Serial.read(); 
      if (isDigit(c)) { 
         //convierte el byte entrante en un char y lo concatena a la cadena
         cadena += (char) letra; 
      } 
      //si obtiene una nueva línea, imprima la cadena, luego el valor de la cadena
      if (letra=='\n') { 
         Serial.print("Valor:") ; 
         Serial.println(cadena.toInt()); 
         Serial.print("Cadena:"); 
         Serial.println(cadena); 
         //borrar la cadena para la nueva entrada
         cadena = "" ; 
      } 
   } 
}

Ejemplo 2

#define DEBUG(a) Serial.println(a);
String texto = "-12345";
 
void setup(){
   Serial.begin(115200);
   int entero = texto.toInt();
   DEBUG(entero);
}
 
void loop(){
   //Nada
}

Ejemplo 3

En este ejemplo ponemos en e monitor serie algo como: 123,456,789 y obtendremos 456 el numero entre las , en int

void setup() {
   Serial.begin(9600);
}

void loop() {
   String num = "";
   while (Serial.available()){
      char c = Serial.read();
      num = num + c;
      delay(10);
   }
   if (num != ""){
      byte pos1 = num.indexOf(",") +1;
      byte pos2 = num.indexOf(",",pos1);
      int n = num.substring(pos1,pos2).toInt();
      Serial.println(n);
   }
}

Vea también

Referencias