Serial.parseFloat()
Description
Cette fonction renvoie le premier nombre à virgule valide à partir de la position courante. Les caractères de début qui ne sont pas des chiffres (ou le signe -) sont ignorés. La fonction est arrêtée par le premier caractère qui n'est pas un nombre à virgule (après les premiers chiffres pris en compte).
Syntaxe
Serial.parseFloat();
Serial.parseFloat(lookahead);
Serial.parseFloat(lookahead, ignore);
Paramètres
- Serial: tout objet d'une classe utilisant la classe Serial
- lookahead: le mode utilisé pour rechercher un nombre à virgule flottante dans le flux. Types de données autorisés: LookaheadMode. Valeurs lookahead autorisées:
- SKIP_ALL: tous les caractères autres qu'un signe moins, une virgule décimale ou des chiffres sont ignorés lors de l'analyse du flux pour un nombre à virgule flottante. C'est le mode par défaut.
- SKIP_NONE: Rien n'est ignoré et le flux n'est pas touché sauf si le premier caractère en attente est valide.
- SKIP_WHITESPACE: Seuls les tabulations, les espaces, les sauts de ligne et les retours chariot sont ignorés.
- ignore: utilisé pour sauter le caractère indiqué dans la recherche. Utilisé par exemple pour sauter le diviseur de milliers. Types de données autorisés: char
Valeurs Renvoyées
- float : renvoie le premier nombre à virgule valide à partir de la position courante.
Exemple
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
float myFloat = Serial.parseFloat(SKIP_ALL, '\n');
// prints the received float number
Serial.print("I received: ");
Serial.println(myFloat);
}
}
- Compile and upload the above code to Arduino
- Open Serial Monitor and select Newline option
- Type -127.45 on Serial Monitor and click Send button:
COM6
Autoscroll
Clear output
9600 baud
Newline
- The result on Serial Monitor:
COM6
I received: -127.45
Autoscroll
Clear output
9600 baud
Newline
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.