How to convert given number to a character array
Given an integer number N, the task is to convert it into a character array.
Example:
Input: N = 2020
Output: {2, 0, 2, 0}
Explanation: Here char array arr[] = {2, 0, 2, 0}
Input: N = 12349
Output: {1, 2, 3, 4, 9}
Explanation: Here char array arr[] = {1, 2, 3, 4, 9}
Approach: The basic approach to do this, is to recursively find all the digits of N, and insert it into the required character array.
- Count total digits in the number.
- Declare a char array of size digits in the number.
- Separating integer into digits and accommodate it to a character array.
- Add ASCII value of character ‘0’ is 48 in each element of the array.
Below is the implementation of the above approach:
C
// C program to convert integer // number into character array #include <stdio.h> #include <stdlib.h> // Function to convert integer to // character array char * convertIntegerToChar( int N) { // Count digits in number N int m = N; int digit = 0; while (m) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10; } // Declare char array for result char * arr; // Declare duplicate char array char arr1[digit]; // Memory allocation of array arr = ( char *) malloc (digit); // Separating integer into digits and // accommodate it to character array int index = 0; while (N) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = N % 10 + '0' ; // Truncate the last // digit from the number N /= 10; } // Reverse the array for result int i; for (i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Char array truncate by null arr[i] = '\0' ; // Return char array return ( char *)arr; } // Driver Code int main() { // Given number int N = 12349; int len = 5; // Function call char * arr = convertIntegerToChar(N); // Print char array for ( int i = 0; i < len; i++) printf ( "%c, " , arr[i]); return 0; } |
Java
// Java program to convert integer // number into character array class GFG{ // Function to convert integer to // character array static char [] convertIntegerToChar( int N) { // Count digits in number N int m = N; int digit = 0 ; while (m > 0 ) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10 ; } // Declare char array for result char [] arr; // Declare duplicate char array char []arr1 = new char [digit + 1 ]; // Memory allocation of array arr = new char [digit]; // Separating integer into digits and // accommodate it to character array int index = 0 ; while (N > 0 ) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = ( char )(N % 10 + '0' ); // Truncate the last // digit from the number N /= 10 ; } // Reverse the array for result int i; for (i = 0 ; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return ( char [])arr; } // Driver Code public static void main(String[] args) { // Given number int N = 12349 ; int len = 5 ; // Function call char [] arr = convertIntegerToChar(N); // Print char array for ( int i = 0 ; i < len; i++) System.out.printf( "%c, " , arr[i]); } } // This code is contributed by amal kumar choubey |
Python3
# Python3 program to convert integer # number into character array # Function to convert integer to # character array def convertIntegerToChar(N): # Count digits in number N m = N; digit = 0 ; while (m > 0 ): # Increment number of digits digit + = 1 ; # Truncate the last # digit from the number m / = 10 ; # Declare char array for result arr = [ '0' for i in range (digit)] # Declare duplicate char array arr1 = [ '0' for i in range (digit + 1 )]; # Separating integer # into digits and # accommodate it # to character array index = 0 ; while (N > 0 ): index + = 1 ; # Separate last digit from # the number and add ASCII # value of character '0' is 48 arr1[index] = chr ( int (N % 10 + 48 )); # Truncate the last # digit from the number N = N / / 10 ; # Reverse the array for result for i in range ( 0 , index): arr[i] = arr1[index - i]; # Return char array return arr; # Driver Code if __name__ = = '__main__' : # Given number N = 12349 ; len = 5 ; # Function call arr = convertIntegerToChar(N); # Print array for i in range ( 0 , len , 1 ): print (arr[i], end = " " ); # This code is contributed by gauravrajput1 |
C#
// C# program to convert integer // number into character array using System; class GFG{ // Function to convert integer to // character array static char [] convertintToChar( int N) { // Count digits in number N int m = N; int digit = 0; while (m > 0) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10; } // Declare char array for result char [] arr; // Declare duplicate char array char []arr1 = new char [digit + 1]; // Memory allocation of array arr = new char [digit]; // Separating integer into digits and // accommodate it to character array int index = 0; while (N > 0) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = ( char )(N % 10 + '0' ); // Truncate the last // digit from the number N /= 10; } // Reverse the array for result int i; for (i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return ( char [])arr; } // Driver Code public static void Main(String[] args) { // Given number int N = 12349; int len = 5; // Function call char [] arr = convertintToChar(N); // Print char array for ( int i = 0; i < len; i++) Console.Write( "{0}, " , arr[i]); } } // This code is contributed by amal kumar choubey |
Javascript
<script> // Javascript program to convert integer // number into character array // Function to convert integer to // character array function convertIntegerToChar(N) { // Count digits in number N let m = N; let digit = 0; while (m > 0) { // Increment number of digits digit++; // Truncate the last // digit from the number m = parseInt(m / 10, 10); } // Declare char array for result let arr; // Declare duplicate char array let arr1 = new Array(digit + 1); // Memory allocation of array arr = new Array(digit); // Separating integer into digits and // accommodate it to character array let index = 0; while (N > 0) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = String.fromCharCode(N % 10 + '0' .charCodeAt()); // Truncate the last // digit from the number N = parseInt(N / 10, 10); } // Reverse the array for result let i; for (i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return arr; } // Given number let N = 12349; let len = 5; // Function call let arr = convertIntegerToChar(N); // Print char array for (let i = 0; i < len; i++) document.write(arr[i] + ", " ); // This code is contributed by divyeshtsbsdiya07 </script> |
Output:
1, 2, 3, 4, 9,