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

在html中格式化数字:在百万之间添加空格(如:9 999 999),html,string,formatting,numbers,space,Html,String,Formatting,Numbers,Space,我需要在HTML中显示一个数百万之间的数字,是否有任何简单的格式允许这样做 我想显示999999999,而不是99999999,你需要使用PHP来生成你想要显示的HTML,或者,你也可以使用上面Dwayne所说的Javascript。不幸的是,HTML(或CSS)无法像您希望的那样格式化数字 查看PHP的number_format()函数: 对于Javascript,有几个选项(我在Google中搜索了“Javascript数字货币格式”): 希望这有帮助 如我在评论中所述。您将无法使用HT

我需要在HTML中显示一个数百万之间的数字,是否有任何简单的格式允许这样做


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

查看PHP的number_format()函数:

对于Javascript,有几个选项(我在Google中搜索了“Javascript数字货币格式”):


希望这有帮助

如我在评论中所述。您将无法使用HTML以您想要的方式格式化数字。您必须使用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(' ');
}
函数格式编号(n){
如果(n<0){throw'必须是非负的:'+n;}
如果(n==0){返回'0';}
var输出=[];
对于(;n>=1000;n=数学楼层(n/1000)){
unshift(字符串(n%1000).padStart(3,'0'));
}
输出。取消移位(n);
返回output.join(“”);
}

如果你有一个像123000456这样的数字,那么被接受的答案会产生错误的结果(如果我有更多的观点,它会是一个注释…

一行程序版本:

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

您不能使用HTML以您想要的方式格式化数字。任何解决方案都需要使用JavaScript。@dwayne是否可以在angularJS中这样做?是的,也可以使用angularJS。您可以编写自定义筛选器。我可以使用JQuery/JavaScript吗?它有更好的解决方案。@divy3993是的,您可以使用JQuery/JavaScript。事实上,我下面给出的解决方案使用的是普通的老JavaScript。在AngularJS的例子中,您可以使用我的简单的旧JavaScript,并将其封装在一个过滤器中并使用它。谢谢您的帮助,它确实帮助我做我想做的事情。一点问题也没有;-)谢谢你接受我的回答!请确保在您发表评论后立即删除此代码。使用此代码,308039将作为308 39输出。@TerjeNesthus和Eirik Rindal感谢您指出失败的案例。我已经更新了代码来解决这些问题。