En programmation, vous rencontrez souvent des situations où une chaîne de chiffres doit être convertie en nombres entiers individuels. Bien que l'accès à chaque caractère par index soit simple, la conversion de ces caractères en entiers peut sembler difficile.
La fonction populaire atoi() nécessite un argument de chaîne, ce qui conduit à l'idée de convertir chaque caractère en chaîne, puis d'utiliser atoi. (). Cependant, il existe une approche plus directe et efficace.
La clé est de reconnaître que les codages de caractères pour les chiffres sont séquentiels. En ASCII, UTF-x et la plupart des autres systèmes de codage, « 0 » a un codage de 48, tandis que « 9 » a un codage de 57.
En tirant parti de cela, vous pouvez extraire la valeur entière d'un chiffre. en soustrayant le caractère de '0' ou 48. Par exemple :
char c = '1'; int i = c - '0'; // i is now equal to 1, not '1'
C'est équivalent à :
char c = '1'; int i = c - 48; // i is now equal to 1, not '1'
Bien que les deux expressions produisent le même résultat, la première option (c - '0') est généralement considérée comme plus lisible.
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!