React Ag-Grid: Number Formatting eg:123456.78985 to 123,456.78985

export function toNumberDecimalFormatter({ value }: ValueFormatterParams) {

  var formatted = Math.floor(value).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, “,”) +((value%1) == 0? “”:(Math.round((value%1) * 1000000)/1000000).toString().replace(/^0+/, “”));

  return `${formatted}`;

}

    {

      field: ‘qty’,

      headerName:’QTY’),      

      options: {        

        formatter: ‘number’,        

        type: ‘rightAligned’,

        editable: true,        

        valueFormatter: toNumberDecimalFormatter,

        initialWidth: 90,

      }, //RITM0788635 initialWidth add  

    },

123456.78 to be rendered as 123,457

    var columnDefs = [
        {headerName: "Number", field: "number"},
        {headerName: "Formatted", field: "number", valueFormatter: currencyFormatter}
    ];
    
    function currencyFormatter(params) {
        return '£' + formatNumber(params.value);
    }
    
    function formatNumber(number) {
        // this puts commas into the number eg 1000 goes to 1,000,
        // i pulled this from stack overflow, i have no idea how it works
        return Math.floor(number).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
    }

답글 남기기