nehel nehel - 6 months ago 33
Javascript Question

round exponentially small number with .toFixed()

How can I round an exponentially small number like this:

2.4451778232910804e-26.toFixed(4) => 2.4452e-26

In docs, using
is going to give me every time
. Is there a special function for
exponentially small number
? I would rather not modify


As you already wrote, toFixed isn't precise enough, as it only allows "only" up to 20 decimal places. Multiply + Dividing won't work as well, as the division might give you an inaccurate longer number again. But toPrecision(<amount-of-precision>) might help.

edit: If you want 4 decimal places, you need pass 5 as parameter (as the numbers before the point count as well).

toPrecision will give you a String, but you may easily cast it back to a number again, if needed. e.g. Number(someNumberAsString)

var someNumber = 2.4451778232910804e-26;