ATOF |
Alpha à virgule |
|---|---|
Perl |
POSIX |
Syntaxe
| sub POSIX::atof($expression); |
Paramètres
| Nom | Description |
|---|---|
| $expression | Ce paramètre permet d'indiquer la chaîne de caractères à convertir |
Description
Cette fonction permet de convertir une chaîne de caractères en une valeur à virgule flottante.
Remarques
- Convertit une chaîne en nombre à virgule flottante : La fonction POSIX::atof($expression) sert à convertir une chaîne de caractères représentant un nombre en une valeur flottante (c'est-à-dire un nombre à virgule). Par exemple, la chaîne "3.14" sera transformée en le nombre 3.14.
- Similaire à une conversion implicite de Perl : Perl effectue souvent des conversions automatiques entre chaînes et nombres. Cependant, atof explicite cette intention de manière claire, ce qui peut être utile dans des contextes stricts, de portabilité ou lors de l'intégration avec du code POSIX.
- Utilise le format numérique C standard : POSIX::atof repose sur la fonction C standard atof() qui interprète les chaînes selon les conventions numériques locales et standards ANSI C. Cela signifie qu'elle reconnaît les notations comme "1.5e2" pour 150, ou " -12.34 " avec espaces.
- Ignorance des caractères non numériques après le nombre : Comme en C, atof ignore le reste de la chaîne après la partie interprétable. Par exemple, "3.14abc" retourne 3.14 sans erreur. Cette tolérance peut être dangereuse si on attend une validation stricte de la chaîne entière.
- Retourne 0.0 en cas d'échec silencieux : Si la chaîne ne commence pas par un nombre valide (exemple "abc"), atof retourne 0.0, sans générer d'erreur ou d'avertissement. Cela peut entraîner des bogues silencieux si l='on ne teste pas le contenu initial de la chaîne.
- Ne remplace pas une vraie validation de données : POSIX::atof n'est pas une fonction de validation : elle convertit si possible, mais ne garantit pas que la chaîne soit un nombre pur. Pour valider une chaîne strictement numérique avec point décimal, il vaut mieux utiliser une expression régulière.
- Peut être influencée par la locale du système : Sur certains systèmes, le comportement de atof peut être influencé par la locale active, notamment en ce qui concerne le point décimal (exemple «,» au lieu de «.»). Cela peut poser des problèmes de portabilité entre environnements.
- Peu utilisée en Perl moderne, mais utile pour l'interopérabilité : Dans les scripts Perl modernes, on utilise rarement POSIX::atof, car les conversions automatiques de Perl sont puissantes. Toutefois, elle reste pertinente dans les cas d'interfaçage avec des bibliothèques C/POSIX ou pour rendre explicite une opération numérique.
Voir également
Langage de programmation - Fonction C pour Linux - atof
Dernière mise à jour : Dimanche, le 18 octobre 2015