# Get number of digits in an integer java – Java Program to Count Number of Digits in an Integer

Get number of digits in an integer java: Interested in programming and want to excel in it by choosing the short ways. Then, practicing with the available Java Program list is mandatory.

## Program to Count Number of Digits in an Integer

Java count digits in integer: In this article we will see how to count number of digits in an integer.

For example:

The number 32456 has 5 digits in it.
The number 9 has 1 digit in it.
The number 6073 has 4 digits in it.

There are multiple ways to do this. Like we can do it by

### Method-1 : By using while loop

Number of digits in a number java: By using the while loop we can count the number of digits in an integer.

This is an iterative approach.

Approach:

• Take an integer variable number assigned with an integer value.
• Take a while loop and iterate the loop until number != 0
• And go on dividing the number by 10 on each iteration like number=number/10
• Keep on counting each digit during that with the help of a variable say ‘count‘.

For example:

• number is 4512
• After first iteration number will be number=number/10 i.e number=4512/10 => number=451 and increment count value to 1
• After second iteration number will be number=number/10 i.e number=451/10 => number=45 and increment count value to 2
• After third iteration number will be number=number/10 i.e number=45/10 => number=4 and increment count value to 3
• After fourth iteration number will be number=number/10 i.e number=4/10 => number=0 and increment count value to 4
• In next while check number is 0, so condition failed as iteration will only continue till while(number != 0), so it will not go into the loop again.
• Now print the count value that is 4, so number of digits in the integer is 4.

Program:

public class Main
{

public static void main(String[] args)
{

int count = 0, number = 4512;

// loop will continue till number value become 0
while (number != 0)
{
// dividing the number with 10
number=number/10;
count++;
}
// printing the count value
System.out.println("Number of digits: " + count);
}
}
Output:

Number of digits: 4

### Method-2 : By using for loop

Java number of digits in int: By using the for loop we can count the number of digits in an integer.

This is an iterative approach.

Approach:

• Take a for loop without body.
• continue for loop upto number != 0 becomes false
• Keep on dividing the number value in each iteration
• In each iteration increment count value 1
public class Main
{

public static void main(String[] args)
{

int count = 0, number = 4512678;

// Loop will continue until number becomes 0
// In each loop number will go on divided by 10
// And keep on counting
for (; number != 0; number=number/10, ++count)
{
}

System.out.println("Number of digits: " + count);
}
}
Output:

Number of digits: 7

### Method-3 : By using recursion

By using recursion we can count the number of digits in an integer.

Approach:

• Logic is very simple just we need to divide number by 10 with in the user defined method count().
• It will check if the number/10==0, if 0 then it will stop there, otherwise it will return 1 and recursion will go on.
• Inside the count() method, recursively count() method will be called. And accordingly return value will be added in that.

Program :

import java.util.*;

class Main
{
// user defined method 'count'
static int count(int n)
{
// dividing number with 10
// if after division n value is not 0
// then return 1
if (n/10 == 0)
return 1;
// it will return the final digit count
// calling the count() method recursively
return 1 + count(n / 10);
}

// main method
public static void main(String[] args)
{
// integer value stored in int variable 'number'
int number = 123;
// count() method called
System.out.print("Number of digits : " + count(number));
}
}
Output:

Number of digits: 3

### Method-4 : By using log based solution

By using log based we can count the number of digits in an integer. But only for positive integers.

Approach:

• By using log10(logarithm of base 10) we will count the number of digits.
• Digit count of number = upper bound of log10(number).

Program :

import java.util.*;

class Main
{

static int count(int num)
{
// using log approach
return (int)Math.floor(Math.log10(num) + 1);
}

/* Driver code */
public static void main(String[] args)
{
// intger value stored in int variable 'number'
int number = 321;
// count() method called
System.out.print("Number of digits :" + count(number));
}
}
Output:

Number of digits: 3

### Method-5 : By using conversion from int to string

By converting int to string and counting length we can count the number of digits in an integer. But only for positive integers.

Approch:

• Take a number.
• convert it to string by using toString() method.
• Then count the length of the string using length() like num.length()
• We have done this using a user defined method count().

Program:

import java.util.*;
public class Main
{
// user defined method
// To count the no. of digits
static void count(int n)
{
// using toString() method converting into to string
String num = Integer.toString(n);

// getting the length of the string
System.out.println("Number of digits :"+num.length());
}

// main method
public static void main(String args[])
{
// numberstored in int variable 'number'
int number = 345;
count(number);
}
}
Output:

Number of digits: 3

Get started with learning the programming language Java from beginner to experienced level by referring to our collection of Java Programs with Source Code and become a pro in the subject.

Related Java Decision Making and Loop Programs: