JSFiddle - React, Tailwind, and code Playground

by der_robert

JavaScript

function number_format(number, decimals, decPoint, thousandsSep){
	decimals = decimals || 0;
    var temp = number.toString();
    var temp = temp.replace(",",".");
	//number = parseFloat(temp);
    number = temp;

	if(!decPoint || !thousandsSep){
		decPoint = ',';
		thousandsSep = '.';
	}

     
	var roundedNumber = Math.round( Math.abs( number ) * ('1e' + decimals) ) + '';
    var numbersString = decimals ? roundedNumber.slice(0, decimals * -1) : roundedNumber;
    var decimalsString = decimals ? roundedNumber.slice(decimals * -1) : '';
	var formattedNumber = "";

	while(numbersString.length > 3){
		formattedNumber += thousandsSep + numbersString.slice(-3)
		numbersString = numbersString.slice(0,-3);
	}

	return (number < 0 ? '-' : '') + (numbersString < 1 ? '0' : numbersString) + formattedNumber + (decimalsString ? (decPoint + decimalsString) : '');
}

alert(number_format("123456789,95",2,",","."));