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



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

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

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

以下是使用纯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这样的数字,接受的答案会产生错误的结果(如果我有更多的观点,它会是一个注释…)

您需要使用PHP来生成您想要的HTML显示方式,或者,您可以使用Dwayne上面所说的Javascript。不幸的是,HTML(或CSS)无法像您想要的那样格式化数字。

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

对于Javascript,有几个选项(我在谷歌中搜索了"Javascript数字货币格式"):http://numeraljs.com/

希望这能有所帮助!

一个单行版本:

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

最新更新