Nathan Nathan - 2 months ago 12
Javascript Question

JavaScript: Round to a number of decimal places, but strip extra zeros

Here's the scenario: I'm getting

.9999999999999999
when I should be getting
1.0
.

I can afford to lose a decimal place of precision, so I'm using
.toFixed(15)
, which kind of works.

The rounding works, but the problem is that I'm given
1.000000000000000
.

Is there a way to round to a number of decimal places, but strip extra whitespace?

Note:
.toPrecision
isn't what I want; I only want to specify how many numbers after the decimal point.

Note 2: I can't just use
.toPrecision(1)
because I need to keep the high precision for numbers that actually have data after the decimal point. Ideally, there would be exactly as many decimal places as necessary (up to 15).

Gus Gus
Answer Source
>>> parseFloat(0.9999999.toFixed(4));
1
>>> parseFloat(0.0009999999.toFixed(4));
0.001
>>> parseFloat(0.0000009999999.toFixed(4));
0