Diferencia entre revisiones de «Serial.parseFloat()»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == == Sintaxis == <pre> </pre> == Parametros == == Retorna == == Advertencias == Nada. == Ejemplo == <syntaxhighlight lang="c++"> </syntaxhighlight> =...»)
 
(Ejemplo)
 
(No se muestran 9 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 +
Busca el siguiente número punto flotante entre los datos entrantes, asumiendo que está codificado como texto y que el separador decimal es un punto ('.'). Se rige bajo las siguientes reglas:
 +
 +
* Los caracteres iniciales que no son dígitos o un signo menos, se saltan.
 +
* El análisis se detiene cuando el tiempo de espera se agota, o se lee un caracter que no es dígito (excluyendo el ignorado y el punto si es el primer encuentro).
 +
* Si no se leyeron dígitos válidos durante el tiempo de espera (vea [[Serial.setTimeout()]]), se devuelve '''0.0'''.
  
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
Serial.parseFloat();
 +
Serial.parseFloat(caracter);
 
</pre>
 
</pre>
  
== Parametros ==
+
== Parámetros ==
 +
;caracter: caracter a ignorar una vez iniciado el proceso ([[char]]).
  
 
== Retorna ==
 
== Retorna ==
 +
Retorna un numero tipo [[float]], o '''0.0''' si no encuentra nada.
  
 
== Advertencias ==
 
== Advertencias ==
Nada.
+
* Si de parámetro se introduce el símbolo de menos ('-'), el valor retornado nunca será negativo.
 +
* Si de parámetro se introduce el punto ('.'), la función fallará en reconocer las cifras decimales.
 +
* Este parámetro es muy útil para ignorar coma (',') en números como: 10,000.
 +
 
 +
== Ejemplo 1 ==
 +
<syntaxhighlight lang="c++">
 +
1.23  --> 1.23
 +
a1.23 --> 1.23
 +
1.23a --> 1.23
 +
1a2b3 --> 1.00, 2.00 y 3.00
 +
</syntaxhighlight>
  
== Ejemplo ==
+
== Ejemplo 2 ==
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 +
void setup(){
 +
  Serial.begin(9600);
 +
}
 +
void loop(){
 +
  if (Serial.available()){
 +
      float num = Serial.parseFloat();
 +
      Serial.println(num, 2);
 +
  }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[Serial.begin()]]
+
<categorytree mode=all>Serial</categorytree>
* [[Serial.available()]]
 
* [[Serial.print()]]
 
* [[Serial.end()]]
 
  
 
== Referencias ==
 
== Referencias ==
  
[[Category:Funciones]]
+
[[Category:Serial]]

Revisión actual del 22:41 18 oct 2019

Descripción

Busca el siguiente número punto flotante entre los datos entrantes, asumiendo que está codificado como texto y que el separador decimal es un punto ('.'). Se rige bajo las siguientes reglas:

  • Los caracteres iniciales que no son dígitos o un signo menos, se saltan.
  • El análisis se detiene cuando el tiempo de espera se agota, o se lee un caracter que no es dígito (excluyendo el ignorado y el punto si es el primer encuentro).
  • Si no se leyeron dígitos válidos durante el tiempo de espera (vea Serial.setTimeout()), se devuelve 0.0.

Sintaxis

Serial.parseFloat();
Serial.parseFloat(caracter);

Parámetros

caracter
caracter a ignorar una vez iniciado el proceso (char).

Retorna

Retorna un numero tipo float, o 0.0 si no encuentra nada.

Advertencias

  • Si de parámetro se introduce el símbolo de menos ('-'), el valor retornado nunca será negativo.
  • Si de parámetro se introduce el punto ('.'), la función fallará en reconocer las cifras decimales.
  • Este parámetro es muy útil para ignorar coma (',') en números como: 10,000.

Ejemplo 1

1.23  --> 1.23
a1.23 --> 1.23
1.23a --> 1.23
1a2b3 --> 1.00, 2.00 y 3.00

Ejemplo 2

void setup(){
   Serial.begin(9600);
}
void loop(){
   if (Serial.available()){
      float num = Serial.parseFloat();
      Serial.println(num, 2);
   }
}

Vea también


Referencias