Friday, 16 October 2020

Use Intl.NumberFormat without rounding

I'm using Intl.NumberFormat to format numbers:

const formatter = new Intl.NumberFormat('en-US', {
    minimumFractionDigits: 1,
    maximumFractionDigits: 4,
    minimumSignificantDigits: 1,
    maximumSignificantDigits: 4
  })

formatter.format(0.99999) // results: '1'. desired result: '0.9999'
formatter.format(0.006393555) // results: '0.006394'. desired result: '0.006393'
formatter.format(0.9972620384752073) // results: '0.9973'. desired result: '0.9972'
formatter.format(12345.67) // results: '12,350'. desired result: '12,345.67'
formatter.format(200001) // results: '200,000'. desired result: '200,001'

As you can see the numbers are being rounded automatically, which is undesirable behavior in my case.

Is there a way to tell the formatter not to round? I Didn't found any option or combination of options to achieve that.



from Use Intl.NumberFormat without rounding

No comments:

Post a Comment