Tengo una pregunta sobre los números decimales. Necesito convertir mis números a decimal pero no pude obtener exactamente lo que quiero.

lo que quiero es:
En primer lugar, busqué aquí y encontré algunas soluciones para cambiar mis números:
function number_format(string,decimals=2,decimal=',',thousands='.',pre='R$ ',pos=' Reais'){ var numbers = string.toString().match(/\d+/g).join([]); numbers = numbers.padStart(decimals+1, "0"); var splitNumbers = numbers.split("").reverse(); var mask = ''; splitNumbers.forEach(function(d,i){ if (i == decimals) { mask = decimal + mask; } if (i>(decimals+1) && ((i-2)%(decimals+1))==0) { mask = thousands + mask; } mask = d + mask; }); return pre + mask + pos; } var element = document.getElementById("format"); var money= number_format("130000",2,',','.'); element.innerHTML = money;Este código anterior me dio 20.911,56 pero no me dio 130.000. En cambio, es 1,300,00. ¿Qué debo hacer? ¿No puedo tenerlos al mismo tiempo?
Simplemente use Intl.NumberFormat de la siguiente manera:
const formatter = new Intl.NumberFormat('en'); console.log(formatter.format(130000)); // 130,000 console.log(formatter.format(20911.56)); // 20,911.56