Maison > Article > développement back-end > 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!