Diferencia entre revisiones de «strtoul()»
De ArduWiki
(→Descripción) |
(→Ejemplo) |
||
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 8: | Línea 8: | ||
== Parametros == | == Parametros == | ||
− | ;matriz:Nombre de la matriz tipo [[ | + | ;matriz:Nombre de la matriz tipo [[string]]. |
;puntero:esta es la referencia a un objeto de tipo char*, cuyo valor es establecido por la función a continuación del valor numérico. | ;puntero:esta es la referencia a un objeto de tipo char*, cuyo valor es establecido por la función a continuación del valor numérico. | ||
;base:que debe estar entre 2 y 36 inclusive, o el valor especial 0. | ;base:que debe estar entre 2 y 36 inclusive, o el valor especial 0. | ||
Línea 18: | Línea 18: | ||
Nada. | Nada. | ||
− | == Ejemplo == | + | == Ejemplo 1 == |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
void setup(){ | void setup(){ | ||
Línea 27: | Línea 27: | ||
a -= 12300; | a -= 12300; | ||
Serial.println(a); //45 | Serial.println(a); //45 | ||
+ | } | ||
+ | void loop(){ | ||
+ | //Nada | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 2 == | ||
+ | <syntaxhighlight lang="c++"> | ||
+ | void setup(){ | ||
+ | Serial.begin(115200); | ||
+ | char rec[16], *ptr; | ||
+ | char data[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x02, 0x03, 0x0b }; | ||
+ | sprintf(rec, "0x%X%X%X%X%X%X%X%X", data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]); | ||
+ | Serial.print("Matriz Hexadecimal: "); | ||
+ | Serial.println(rec); | ||
+ | unsigned long a = strtoul(rec, &ptr, 16); | ||
+ | Serial.print("El numero en decimal es: "); | ||
+ | Serial.println(a); | ||
} | } | ||
void loop(){ | void loop(){ | ||
Línea 37: | Línea 55: | ||
== Referencias == | == Referencias == | ||
− | * [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 conversion]] | [[Category:Funciones conversion]] |
Revisión actual del 16:43 20 nov 2019
Contenido
Descripción
Convertir una matriz char o string a unsigned long en la base dada.
Sintaxis
strtoul(matriz, *puntero, base);
Parametros
- matriz
- Nombre de la matriz tipo string.
- puntero
- esta es la referencia a un objeto de tipo char*, cuyo valor es establecido por la función a continuación del valor numérico.
- base
- que debe estar entre 2 y 36 inclusive, o el valor especial 0.
Retorno
Numero tipo unsigned long o 0 si no lo logra.
Advertencias
Nada.
Ejemplo 1
void setup(){
Serial.begin(115200);
char texto[] = "12345";
char *ptr;
unsigned long a = strtoul(texto, &ptr, 10); //12345
a -= 12300;
Serial.println(a); //45
}
void loop(){
//Nada
}
Ejemplo 2
void setup(){
Serial.begin(115200);
char rec[16], *ptr;
char data[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x02, 0x03, 0x0b };
sprintf(rec, "0x%X%X%X%X%X%X%X%X", data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]);
Serial.print("Matriz Hexadecimal: ");
Serial.println(rec);
unsigned long a = strtoul(rec, &ptr, 16);
Serial.print("El numero en decimal es: ");
Serial.println(a);
}
void loop(){
//Nada
}
Vea también
Referencias
- Convertir texto a numero - Luis LLamas