# How can I remove trailing zeros from a number in JavaScript?

JavaScript, Math · May 8, 2022 JavaScript provides a couple of ways to format numeric values to a given precision. Namely, you can use `Number.prototype.toFixed()` and `Number.prototype.toPrecision()` to similar effect. However, neither of them deals with trailing zeros in the decimal part. Here's a few ways you can remove them:

Provided that the number is converted to a fixed-point string, you can use a regular expression to remove trailing zeros. All you have to do is match the decimal point (`\.`) and replace any zeros after it (`0+`) until the end of the string (`\$`).

```const toFixedWithoutZeros = (num, precision) =>
num.toFixed(precision).replace(/\.0+\$/, '');

toFixedWithoutZeros(1.001, 2); // '1'
toFixedWithoutZeros(1.500, 2); // '1.50'```

The main issue with this approach is that the regular expression will only remove trailing zeros if the decimal part has no other digits before them. Writing a regular expression to remove trailing zeros from any number is a bit more involved and gets harder to read. Thus, this approach is discouraged.

A better way to remove trailing zeros is to multiply by `1`. This method will remove trailing zeros from the decimal part of the number, accounting for non-zero digits after the decimal point. The only downside is that the result is a numeric value, so it has to be converted back to a string.

```const toFixedWithoutZeros = (num, precision) =>
`\${1 * num.toFixed(precision)}`;

toFixedWithoutZeros(1.001, 2); // '1'
toFixedWithoutZeros(1.500, 2); // '1.5'```

Similar to the previous approach, you can use `Number.parseFloat()` to remove trailing zeros from a number. This method also accounts for non-zero digits after the decimal point. We recommend this approach as it's the most readable.

```const toFixedWithoutZeros = (num, precision) =>
`\${Number.parseFloat(num.toFixed(precision))}`;

toFixedWithoutZeros(1.001, 2); // '1'
toFixedWithoutZeros(1.500, 2); // '1.5'```

## More like this

• ### Number to fixed-point notation without trailing zeros

Formats a number using fixed-point notation, if it has decimals.

JavaScript, Math · May 10, 2022

• ### How can I check if a number is even or odd using JavaScript?

Check if a number is even or odd using JavaScript using the modulo operator or bitwise AND operator.

JavaScript, Math · Oct 6, 2023

• ### Create a unit converter data structure in JavaScript

Learn how to create a unit converter data structure in JavaScript that can convert between any compatible units.

JavaScript, Math · Nov 8, 2023