Comment convertir une chaîne en nombre en C++

藏色散人
Libérer: 2020-02-07 10:59:09
original
12018 Les gens l'ont consulté

Comment convertir une chaîne en nombre en C++

Comment convertir une chaîne en nombre en C++ ?

Fonction de bibliothèque pour convertir des chaînes C++ en nombres

1 atoi

Fonction : Convertir une chaîne en entier

Utilisation :int atoi(const char *nptr);

Explication détaillée : atoi est l'abréviation de l'anglais array to integer. atoi() analysera la chaîne nptr du paramètre et retournera zéro si le premier caractère n'est pas un nombre ou un signe, sinon il lancera la conversion de type, puis arrêtera la conversion lorsqu'il détectera un non-nombre ou le terminateur /0, et renvoie un entier. Paramètres :

*nptr : Chaîne à convertir.

Valeur de retour :

int : entier converti.

2. atol

Fonction : Convertir une chaîne en un entier long

Utilisation : long atol(const char *nptr);

Explication détaillée : atol() analysera la chaîne nptr du paramètre, ignorera les caractères d'espacement précédents, lancera la conversion jusqu'à ce qu'elle rencontre un nombre ou un signe positif ou négatif, et ne se terminera que lorsqu'elle rencontrera un non-nombre ou la fin de la chaîne ('/ 0') Convertissez et renvoyez le résultat.

Paramètres :

*nptr : Chaîne à convertir.

Valeur de retour :

Long : L'entier long converti.

3. atof

Fonction : Convertir une chaîne en un nombre à virgule flottante double précision

Utilisation : double atof(const char *nptr);

Explication détaillée : atof() analysera la chaîne nptr du paramètre, ignorera les caractères d'espacement précédents et ne lancera la conversion que lorsqu'il rencontrera des nombres ou des symboles positifs et négatifs, puis rencontrera des non-chiffres ou la fin de la chaîne ('/ 0') Ce n'est qu'alors que la conversion se termine et que le résultat est renvoyé. La chaîne de paramètre nptr peut contenir un signe plus ou moins, un point décimal ou E(e) pour représenter la partie exposant, telle que 123,456 ou 123e-2.

Paramètres :

*nptr : Chaîne à convertir.

Valeur de retour :

double : nombre à virgule flottante double précision converti.

4. strtod

Fonction : Convertir une chaîne en une valeur à virgule flottante double précision et signaler tous les nombres restants qui ne peuvent pas être convertis

Utilisation : double strtod(const char *nptr,char **endptr);

Explication détaillée : strtod() analysera la chaîne nptr du paramètre, ignorera les caractères d'espacement précédents et ne lancera la conversion que lorsqu'il rencontrera des nombres ou des symboles positifs et négatifs, jusqu'à ce que des non-chiffres ou des caractères apparaît La conversion se termine à la fin de la chaîne ('/0') et le résultat est renvoyé. Si endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine lorsque des conditions non qualifiées sont rencontrées sera renvoyé par endptr. La chaîne de paramètre nptr peut contenir un signe plus ou moins, un point décimal ou E(e) pour représenter la partie exposant. Tel que 123.456 ou 123e-2.

Paramètres :

*nptr : Chaîne à convertir.

**endptr : Si endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine lorsqu'il rencontre des conditions non qualifiées sera renvoyé par endptr.

Valeur de retour :

double : nombre à virgule flottante double précision converti.

5. strtol

Fonction : Convertir une chaîne en une valeur longue et signaler tous les nombres restants qui ne peuvent pas être convertis

Utilisation : long int strtol(const char *nptr,char **endptr,int base);

Explication détaillée : Cette fonction convertira la chaîne de paramètre nptr en un entier long en fonction de la base de paramètres. Le paramètre de base va de 2 à 36, soit 0. Le paramètre base représente le système de base utilisé. Si la valeur de base est 10, le système décimal est utilisé. Si la valeur de base est 16, le système hexadécimal est utilisé, etc. Lorsque la valeur de base est 0, le caractère décimal est utilisé pour la conversion, mais lorsque vous rencontrez un caractère principal tel que « 0x », le caractère hexadécimal est utilisé pour la conversion. Lorsque vous rencontrez un caractère principal « 0 » au lieu de « 0x », il sera converti. . Utilisez octal pour la conversion. Dans un premier temps, strtol() analysera la chaîne nptr du paramètre et ignorera les caractères d'espace précédents. Il ne démarrera pas la conversion tant qu'il ne rencontrera pas de nombres ou de symboles positifs et négatifs. Il mettra fin à la conversion lorsqu'il rencontrera des non-nombres ou la fin du. string ('/0') et renvoie le résultat. Si le paramètre endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine en raison de conditions non qualifiées sera renvoyé par endptr.

Paramètres :

*nptr : Chaîne à convertir.

**endptr : Si endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine lorsqu'il rencontre des conditions non qualifiées sera renvoyé par endptr.

base : la méthode de base utilisée

Valeur de retour :

long int : l'entier long converti.

6. strtoul

Fonction : Convertir une chaîne en une valeur longue non signée et signaler tous les nombres restants qui ne peuvent pas être convertis.

Utilisation : unsigned long int strtoul(const char *nptr,char **endptr,int base);

Explication détaillée : strtoul() convertira la chaîne nptr du paramètre en un entier long non signé en fonction de la base des paramètres. Le paramètre de base va de 2 à 36, soit 0. Le paramètre base représente le système hexadécimal utilisé. Si la valeur de base est 10, le système décimal est utilisé. Si la valeur de base est 16, le système hexadécimal est utilisé. Lorsque la valeur de base est 0, le caractère décimal est utilisé pour la conversion, mais lorsqu'il rencontre un caractère principal tel que « 0x », le caractère hexadécimal est utilisé pour la conversion. Au début, strtoul() analysera la chaîne nptr du paramètre, en ignorant la chaîne d'espace précédente, et ne démarrera pas la conversion tant qu'il ne rencontrera pas un nombre ou un signe positif ou négatif, puis terminera la conversion lorsqu'il rencontrera un non-nombre. ou la fin de la chaîne ('') et renvoie le résultat. Si le paramètre endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine en raison de conditions non qualifiées sera renvoyé par endptr.

Paramètres :

*nptr : Chaîne à convertir.

**endptr : Si endptr n'est pas NULL, le pointeur de caractère dans nptr qui se termine lorsqu'il rencontre des conditions non qualifiées sera renvoyé par endptr.

base : la méthode de base utilisée.

Valeur de retour :

unsigned long int : l'entier long non signé converti.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
c++
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!