How to reduce numbers’ significance when stringifying values with JavaScript JSON.stringify?

Sometimes, we want to reduce numbers’ significance when stringifying values with JavaScript JSON.stringify.

In this article, we’ll look at how to reduce numbers’ significance when stringifying values with JavaScript JSON.stringify.

How to reduce numbers’ significance when stringifying values with JavaScript JSON.stringify?

To reduce numbers’ significance when stringifying values with JavaScript JSON.stringify, we can call JSON.stringify with a function that rounds numbers to the number of decimal places we want.

For instance, we write:

const a = [0.123456789123456789]
const strA = JSON.stringify(a, (key, val) => {
  return typeof val === 'number' ? Number(val.toFixed(3)) : val;
})
console.log(strA)

to call JSON.stringify with a and a callback that checks if the val value being stringified if a number.

If it is, we call val.toFixed with 3 to round val to 3 decimal places.

Otherwise, we return val as is.

Therefore, strA is '[0.123]'.

Conclusion

To reduce numbers’ significance when stringifying values with JavaScript JSON.stringify, we can call JSON.stringify with a function that rounds numbers to the number of decimal places we want.