Diferencia entre revisiones de «strtoul()»
De ArduWiki
(→Descripción) |
(→Ejemplo) |
||
(No se muestran 10 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | Convertir | + | Convertir una matriz [[char]] o [[string]] a [[unsigned long]] en la base dada. |
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
− | strtoul(matriz); | + | strtoul(matriz, *puntero, base); |
</pre> | </pre> | ||
== Parametros == | == Parametros == | ||
− | ;matriz: | + | ;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 == | == Retorno == | ||
− | Numero tipo [[unsigned long]]. | + | Numero tipo [[unsigned long]] o 0 si no lo logra. |
== Advertencias == | == Advertencias == | ||
Nada. | Nada. | ||
− | == Ejemplo == | + | == Ejemplo 1 == |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
void setup(){ | void setup(){ | ||
Línea 25: | 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 32: | Línea 52: | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>Funciones conversion</categorytree> | |
− | |||
− | |||
− | |||
− | |||
== 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]] | + | [[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