number format with thousands separators

Benchmark created on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/bignumber.js/9.1.2/bignumber.min.js"></script>

Setup

const num = "123456789098765.1"

function numWithCommas(x, decimal = 2) {
    const rs = x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');

    if (decimal === 0) {
        return rs;
    }

    const [int, dec] = rs.split('.');
    return `${int}.${dec.padEnd(decimal, '0')}`;
}

Test runner

Ready to run.

Testing in
TestOps/sec
purejs
numWithCommas(num)
ready
bignumber.js
BigNumber(num).toFormat(2)
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.