Number.toLocaleString() 带有自定义分隔符
Number.toLocaleString() with custom separators
我需要使用可能在运行时定义的分隔符来格式化 JavaScript 中的数字。
千位分隔符和小数分隔符的组合可能与特定区域设置不匹配。
有没有办法在 JavaScript toLocaleString()
中提供千位和小数分隔符?或明确使用 NumberFormat
我定义的值?
我看到了使用区域设置代码的示例,还有一些使用其他值 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString) 的示例,但这些不涵盖我的用例。
一个选项是格式化为具有已知分隔符的字符串,然后使用未知分隔符执行 find/replace。
function formatNum(num, separator, fraction) {
var str = num.toLocaleString('en-US');
str = str.replace(/\./, fraction);
str = str.replace(/,/g, separator);
return str;
}
formatNum(12342.2, "a", "x");
//12a342x2
我需要使用可能在运行时定义的分隔符来格式化 JavaScript 中的数字。
千位分隔符和小数分隔符的组合可能与特定区域设置不匹配。
有没有办法在 JavaScript toLocaleString()
中提供千位和小数分隔符?或明确使用 NumberFormat
我定义的值?
我看到了使用区域设置代码的示例,还有一些使用其他值 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString) 的示例,但这些不涵盖我的用例。
一个选项是格式化为具有已知分隔符的字符串,然后使用未知分隔符执行 find/replace。
function formatNum(num, separator, fraction) {
var str = num.toLocaleString('en-US');
str = str.replace(/\./, fraction);
str = str.replace(/,/g, separator);
return str;
}
formatNum(12342.2, "a", "x");
//12a342x2