 # How to Get the Length of a Number in JavaScript

#### Subscribe to Coding Beauty Newsletter

Gain useful insights and advance your web development knowledge with weekly tips and tutorials from Coding Beauty. Over 2,000 developers subscribe.

### 1. length Property of String Representation

To get the length of a number, call the `toString()` method on the number to convert it to a string, then access the `length` property of the string, i.e., `num.toString().length`.

``````const num1 = 12345;
const num2 = 524;

console.log(num1.toString().length); // 5
console.log(num2.toString().length); // 3
``````

We call the `toString()` method on the number to get its string representation.

``````const num1 = 12345;
const num2 = 524;

console.log(num1.toString()); // '12345'
console.log(num2.toString()); // '524'
``````

`String` objects have a length property that returns the number of characters (UTF-16 code units) in a string. We use this to get the length of the number.

#### Getting the Length of Floats

For floating point numbers, the decimal point will be included when accessing the `length` property of the string representation of the float.

``````const float1 = 123.45; // 5 digits
const float2 = 524.1; // 4 digits

console.log(float1.toString().length); // 6
console.log(float2.toString().length); // 5
``````

To avoid this and get the actual number of digits in the float, simply subtract 1 from `length`.

``````const float1 = 123.45; // 5 digits
const float2 = 524.1; // 4 digits

console.log(float1.toString().length - 1); // 5
console.log(float2.toString().length - 1); // 4
``````

### 2. Math.ceil() and Math.log10() Methods

We can also use a purely mathematical approach to get the length of a number:

``````function getNumberLength(num) {
return Math.ceil(Math.log10(num + 1));
}

const num1 = 12345;
const num2 = 524;

console.log(getNumberLength(num1)); // 5
console.log(getNumberLength(num2)); // 3
``````

The `Math.log10()` method returns the logarithm of a number to the base 10.

``console.log(Math.log10(12345)); // 4.091491094267951``

And the `Math.ceil()` method rounds a number up to the next largest integer.

``````console.log(Math.ceil(4.091491094267951)); // 5
``````

Unfortunately, this method doesn’t work for floats. It only returns the number of digits before the decimal point.

``````function getNumberLength(num) {
return Math.ceil(Math.log10(num + 1));
}

const float1 = 123.45; // 5 digits
const float2 = 524.1; // 4 digits

console.log(getNumberLength(float1)); // 3
console.log(getNumberLength(float2)); // 3
``````

## Every Crazy Thing JavaScript Does

A captivating guide to the subtle caveats and lesser-known parts of JavaScript. 