我有以下功能:
formatNumericValues() {
const numberFormat = new Intl.NumberFormat('es', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
});
this.tableItems.forEach((item) => {
// eslint-disable-next-line no-restricted-syntax
for (const key in item) {
if (typeof item[key] === 'number') {
let formattedValue = numberFormat.format(item[key]);
if (item[key] % 1 !== 0) { // Verifica si el número tiene decimales
formattedValue = item[key].toFixed(2).replace(/\./g, ',');
} else {
formattedValue = formattedValue.replace(/\.00$/, '');
}
item[key] = formattedValue;
}
}
});
}
我想要'。'从 1,000 开始放置,但它是从 10,000 开始放置的。我试过放置以下但没有成功:
const numberFormat = new Intl.NumberFormat('en', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
minimumSignificantDigits: 1,
});
useGrouping
构造函数选项始终显示分组分隔符。这是一个例子:
const formatter = new Intl.NumberFormat("es-ES", { useGrouping: "always" });
for (
const n of Array.from({ length: 10 }, (_, i) => 10 ** i)
) console.log(formatter.format(n));
/* Logs:
1
10
100
1.000
10.000
100.000
1.000.000
10.000.000
100.000.000
1.000.000.000
*/