Related Articles

# How to convert given number to a character array

• Difficulty Level : Hard
• Last Updated : 05 Jul, 2021

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.

1. Count total digits in the number.
2. Declare a char array of size digits in the number.
3. Separating integer into digits and accommodate it to a character array.
4. 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 ``#include ` `// 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

 ``
Output:
`1, 2, 3, 4, 9,`

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up