Diferencia entre revisiones de «objeto.toInt()»
De ArduWiki
(→Retorna) |
(→Ejemplo 2) |
||
Línea 58: | Línea 58: | ||
void loop(){ | void loop(){ | ||
//Nada | //Nada | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 3 == | ||
+ | En este ejemplo ponemos en e monitor serie algo como: 123,456,789 y obtendremos 456 el numero entre las , en [[int]] | ||
+ | |||
+ | <syntaxhighlight lang="c++"> | ||
+ | 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); | ||
+ | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revisión del 15:35 20 feb 2019
Contenido
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);
}
}