C/C++ में कैरेक्टर्स उनके ASCII कोड्स के रूप में संग्रहीत होते हैं। डिजिट (0-9) को उनके ASCII कैरेक्टर में बदलने के लिए '0' जोड़ें।
सिद्धांत
- ASCII '0' = 48, '1' = 49, ..., '9' = 57
'0' + n(जहां 0 ≤ n ≤ 9) डिजिटnका ASCII कोड देता है।
उदाहरण
#include <stdio.h>
char intToAsciiDigit(int digit) {
if (digit < 0 || digit > 9) return '?'; // वैलिडेशन
return '0' + digit;
}
int main() {
for (int i = 0; i <= 9; i++) {
printf("Digit %d -> ASCII char '%c' (code %d)\n",
i, intToAsciiDigit(i), intToAsciiDigit(i));
}
return 0;
}
आउटपुट
Digit 0 -> ASCII char '0' (code 48) Digit 1 -> ASCII char '1' (code 49) Digit 2 -> ASCII char '2' (code 50) Digit 3 -> ASCII char '3' (code 51) Digit 4 -> ASCII char '4' (code 52) Digit 5 -> ASCII char '5' (code 53) Digit 6 -> ASCII char '6' (code 54) Digit 7 -> ASCII char '7' (code 55) Digit 8 -> ASCII char '8' (code 56) Digit 9 -> ASCII char '9' (code 57)
पूर्ण संख्या को स्ट्रिंग में बदलना
#include <stdio.h>
void intToString(int num, char *buf) {
if (num == 0) {
buf[0] = '0';
buf[1] = '\0';
return;
}
int i = 0, isNeg = 0;
if (num < 0) { isNeg = 1; num = -num; }
char temp[20];
while (num > 0) {
temp[i++] = '0' + (num % 10);
num /= 10;
}
if (isNeg) temp[i++] = '-';
// रिवर्स कॉपी
for (int j = 0; j < i; j++)
buf[j] = temp[i - 1 - j];
buf[i] = '\0';
}
int main() {
char str[20];
intToString(-12345, str);
printf("%s\n", str); // -12345
return 0;
}
नोट
उत्पादन कोड के लिए sprintf, snprintf (C) या std::to_string (C++11) उपयोग करें।