我需要在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();