javascript - 带有自定义分隔符的 Number.toLocaleString()

标签 javascript locale number-formatting

我需要在 JavaScript 中使用可以在运行时定义的分隔符来格式化一个数字。

千位和小数分隔符的组合可能与特定的语言环境不匹配。

有没有办法在 JavaScript toLocaleString() 中提供千位和小数分隔符?或明确使用 NumberFormat 与我定义的值?

我看到了使用区域设置代码的示例,以及一些使用其他值 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString) 的示例,但这些并未涵盖我的用例。

最佳答案

一种选择是格式化为具有已知分隔符的字符串,然后使用未知分隔符进行查找/替换。

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 - 带有自定义分隔符的 Number.toLocaleString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485406/

相关文章:

javascript - 如何将div的位置固定到包含背景图片的div的右下角

javascript - "Uncaught TypeError: Cannot read property ' ecommerce' 未定义的可能原因"

javascript - 倒计时器可在同一页面的多个地方使用

android - 如何在语言环境更改时销毁应用程序

c - 在 C 中处理数字

javascript - Material UI 循环进度内的文本

bash - 如何更改 Git 命令行界面的语言?

c - 如何禁用字符代码 178 (0xB2) (²) 、179 (0xB3) (³) 和 185 (0xB9) (¹) 作为数字?

ios - NumberFormatter 在使用有效数字时不遵守 minimumFractionDigits

python - 你可以格式化 pandas 整数以进行显示,例如 `pd.options.display.float_format` 用于 float 吗?