¿Cuál es la mejor manera de eliminar los ceros finales de la salida cuando se usa Javascript NumberFormat para mostrar la moneda sueca?
Quiero una salida de 200 kr en lugar de 200,00 kr
¿Existe una solución integrada con Intl.NumberFormat para lograr esto?
console.log(Intl.NumberFormat('sv-SE', {style:'currency', currency: 'SEK'}).format(200));Utilice maximumSignificantDigitsmaximumFractionDigits . Algo como:
function getAmount(number) { if ((number | 0) < number) { return Intl.NumberFormat('sv-SE', { style: 'currency', currency: 'SEK' }).format(number) } return Intl.NumberFormat('sv-SE', { style: 'currency', currency: 'SEK', maximumFractionDigits: 0 }).format(number); } console.log(getAmount(200)); console.log(getAmount(200.23));No hay una solución integrada que deje caer solo una fracción cero , pero puede - No funcionará para el formato de moneda, lo siento..replace(/\.0+$/,'');
Para eliminar cualquier fracción, puede usar la opción maximumFractionDigits del constructor Intl.NumberFormat() .