Diferencia entre revisiones de «objeto.toInt()»
De ArduWiki
(→Ejemplo 2) |
(→Referencias) |
||
(No se muestran 8 ediciones intermedias del mismo usuario) | |||
Línea 17: | Línea 17: | ||
== Ejemplo 1 == | == Ejemplo 1 == | ||
+ | Si envias digitos por la consola se convierten en entero. | ||
+ | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
String cadena = ""; | String cadena = ""; | ||
Línea 27: | Línea 29: | ||
void loop() { | void loop() { | ||
while (Serial.available()) { | while (Serial.available()) { | ||
− | + | char caracter = Serial.read(); | |
− | if (isDigit( | + | if (isDigit(caracter)) { //Solo concatena si es dígito |
− | + | cadena += caracter; | |
− | cadena += | ||
} | } | ||
//si obtiene una nueva línea, imprima la cadena, luego el valor de la cadena | //si obtiene una nueva línea, imprima la cadena, luego el valor de la cadena | ||
− | if (letra=='\n') { | + | if (letra == '\n') { |
Serial.print("Valor:") ; | Serial.print("Valor:") ; | ||
Serial.println(cadena.toInt()); | Serial.println(cadena.toInt()); | ||
Serial.print("Cadena:"); | Serial.print("Cadena:"); | ||
Serial.println(cadena); | Serial.println(cadena); | ||
− | + | cadena = "" ; //Limpia cadena para proxima lectura | |
− | cadena = "" ; | ||
} | } | ||
} | } | ||
Línea 46: | Línea 46: | ||
== Ejemplo 2 == | == Ejemplo 2 == | ||
+ | Definida una cadena se convierte a [[int]]. | ||
+ | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
− | |||
String texto = "-12345"; | String texto = "-12345"; | ||
Línea 53: | Línea 54: | ||
Serial.begin(115200); | Serial.begin(115200); | ||
int entero = texto.toInt(); | int entero = texto.toInt(); | ||
− | + | Serial.println(entero); | |
} | } | ||
Línea 62: | Línea 63: | ||
== Ejemplo 3 == | == Ejemplo 3 == | ||
− | En este ejemplo ponemos en | + | En este ejemplo ponemos en el monitor serie algo como: 123,456,789 y obtendremos 456 el numero entre las , es [[int]]. |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
Línea 86: | Línea 87: | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>String</categorytree> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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: | + | [[Category:String]] |
Revisión actual del 18:04 6 may 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
Si envias digitos por la consola se convierten en entero.
String cadena = "";
void setup(){
Serial.begin(9600);
Serial.println("Cadena toInt():");
}
void loop() {
while (Serial.available()) {
char caracter = Serial.read();
if (isDigit(caracter)) { //Solo concatena si es dígito
cadena += caracter;
}
//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);
cadena = "" ; //Limpia cadena para proxima lectura
}
}
}
Ejemplo 2
Definida una cadena se convierte a int.
String texto = "-12345";
void setup(){
Serial.begin(115200);
int entero = texto.toInt();
Serial.println(entero);
}
void loop(){
//Nada
}
Ejemplo 3
En este ejemplo ponemos en el monitor serie algo como: 123,456,789 y obtendremos 456 el numero entre las , es 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
- Guia de referencia de Arduino
- Convertir texto a numero - Luis Llamas