Maison > Problème commun > Comment convertir les caractères du langage C en nombres

Comment convertir les caractères du langage C en nombres

zbt
Libérer: 2023-08-09 15:06:41
original
31947 Les gens l'ont consulté

Comment convertir les caractères du langage C en nombres : 1. Utilisez la conversion de type forcée pour forcer le caractère « 5 » à un type entier, puis soustrayez la valeur du code ASCII du caractère « 0 » pour obtenir le nombre 5 ; Utilisez la fonction de bibliothèque atoi(), convertissez la chaîne « 123 » en entier 123 via la fonction atoi() et imprimez le résultat ; 3. Utilisez la fonction de bibliothèque sscanf() pour lire l'entier à partir de la chaîne « 456 » ; via la fonction sscanf(), et stockez le résultat dans la variable num, et enfin imprimez le résultat.

Comment convertir les caractères du langage C en nombres

L'environnement d'exploitation de ce tutoriel : système Windows 10, version C++ 20, ordinateur DELL G3.

En langage C, les caractères sont stockés sous forme de code ASCII. Le code ASCII est un système de codage qui fait correspondre les caractères aux nombres. Il définit un codage standard de 128 caractères. En langage C, il existe certaines méthodes pour convertir des caractères en nombres.

1. Utiliser la conversion de type :

En langage C, vous pouvez utiliser la conversion de type pour convertir les caractères en nombres correspondants. Par exemple, pour convertir le caractère « 5 » en nombre 5 correspondant, vous pouvez utiliser le code suivant :

char c = '5';
int num = (int) c - '0';
Copier après la connexion

Dans cet exemple, le caractère « 5 » est converti en un entier, puis la valeur du code ASCII du caractère « 0 » est soustrait pour obtenir le nombre 5. En effet, les codes ASCII des caractères « 0 » à « 9 » augmentent dans l'ordre et en soustrayant la valeur du code ASCII du caractère « 0 », le nombre correspondant peut être obtenu.

2. Utilisez la fonction de bibliothèque atoi() :

La bibliothèque stdlib.h en langage C fournit une fonction atoi() qui peut convertir une chaîne en entier. Le paramètre de cette fonction est une chaîne et la valeur de retour est l'entier correspondant.

#include
#include
int main() {
char str[] = "123";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
Copier après la connexion

Dans cet exemple, la chaîne "123" est convertie en entier 123 via la fonction atoi(), et le résultat est imprimé.

3. Utilisez la fonction de bibliothèque sscanf() :

La bibliothèque stdio.h en langage C fournit une fonction sscanf() qui peut lire les données d'une chaîne dans un format donné. En spécifiant le format « %d », vous pouvez convertir une chaîne en entier.

#include
int main() {
char str[] = "456";
int num;
sscanf(str, "%d", &num);
printf("%d\n", num);
return 0;
}
Copier après la connexion

Dans cet exemple, la fonction sscanf() est utilisée pour lire l'entier de la chaîne "456", stocker le résultat dans la variable num, et enfin imprimer le résultat.

Que vous utilisiez la conversion de type forcée, la fonction atoi() ou la fonction sscanf(), les caractères peuvent être convertis en nombres correspondants. Il convient de noter que la plage du résultat de la conversion doit être comprise dans la plage que l'entier peut représenter, sinon elle risque de déborder. De plus, assurez-vous que les caractères sont des caractères numériques pendant le processus de conversion, sinon les résultats pourraient être inexacts.

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:
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