格式化 html 中的数字:在百万之间添加 space(例如:9 999 999)

Formatting numbers in html : adding space between millions (like : 9 999 999)

我需要在 HTML 中显示一个数字,百万之间有空格,是否有任何简单的格式可以做到这一点?

我想显示 999 999 999,而不是 999999999

您需要使用 PHP 来生成您希望的显示方式 HTML,或者,您也可以使用 Javascript,如 D​​wayne 上面所述。不幸的是,HTML(或 CSS)无法按照您的意愿格式化数字。

查看 PHP 的 number_format() 函数: http://php.net/number_format

对于Javascript,有几个选项(我在Google中搜索了'Javascript number currency format'): http://numeraljs.com/

希望对您有所帮助!

正如我在评论中所说。您将无法使用 HTML 以您想要的方式格式化数字。您将不得不使用 JavaScript.

Here is how you would do it using plain JavaScript.

供参考:

function formatNumber(n) {
  if (n < 0) { throw 'must be non-negative: ' + n; } 
  if (n === 0) { return '0'; }
  
  var output = [];
  
  for (; n >= 1000; n = Math.floor(n/1000)) {
    output.unshift(String(n % 1000).padStart(3, '0'));
  }
  output.unshift(n);
  
  return output.join(' ');
}

如果你有一个像 123000456 这样的数字,那么接受的答案会产生错误的结果(如果我有更多的观点,那就是评论......)

单排版本:

[..."1230000456"].reverse().reduce((acc, v, i) => acc.push((i + 1) % 3 == 0 ? " " + v : v) && acc, []).reverse().join("").trim();