Conversion d`un nombre entier à ses équivalents ASCII est une pratique courante dans la programmation. Pour de nombreuses fonctions, il est nécessaire de manipuler les formats de données pour les faire fonctionner. Malheureusement, C / C ++ ne propose pas une méthode toString pratique (), contrairement à Java, de sorte que la conversion doit être fait à la main.
Ajouter le nombre entier souhaité pour le caractère «0». Notez que cela ne fonctionne que pour un seul chiffre 0-9, et fonctionne parce que ces personnages se trouvent dans l`ordre.
int i = 3;
c omble = de `0` + i;
Maintenant, c est le caractère `3`.
Utilisez itoa (), court pour un nombre entier en ASCII. Cette fonction fonctionne pour toutes les plates-formes Windows, mais est non-standard et ne fonctionnera pas pour Mac ou Linux.
comprendre{
int i = 27;
char * str = new char [33];
itoa (i, str, 10);
// 10 indique base 10
}
Maintenant str est "27".
Utilisez les flux C de. Ceci est la méthode la plus classique de conversion.
comprendre{
int i = 5;
std :: string s;
std :: stringstream out;
en dehors lt; lt; je;
s = out.str ();
}
Maintenant, s est "5".
Conseils & Avertissements
- Tout entier autre que les entiers 0-9 ont plus d`un chiffre, et doit donc être converti en une chaîne (un tableau de caractères).
- La fonction itoa () peut également être utilisé pour des bases non décimales (par exemple, changer le dernier paramètre à 2, 6, etc., pour binaire et hexadécimal).
- La longueur de itoa () `de la matrice doit être calculé à la main. Rappelez-vous que les chaînes sont à terminaison nulle.