javascript - jquery 数字格式到紧凑数字样式 k 千 m 百万等

标签 javascript jquery formatting numbers

使用 span 类格式化网页上所有数字的最佳方式是什么?使用 jquery?

<span class="number">100065</span>
<span class="number">9896</span>
<span class="number">3946</span>
<span class="number">9606</span>

结果 100k 9.8k 3.9k 9.6k

最佳答案

它有点重复,但这是适合您特殊情况的正确解决方案:

String.prototype.endsWith = function(suf) {
    return (this.indexOf(suf, this.length - suf.length) !== -1) ? this.slice(0, -2) : this;
};
function kF(num) { 
  return num > 999 ? 
    (num/1000).toString().slice(0, - 2).endsWith('.0') + 'k' : 
    num 
}
jQuery('span.number').text(function(i, oldText) { return kF(oldText); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="number">100065</span>
<span class="number">9896</span>
<span class="number">3946</span>
<span class="number">9606</span>
<p>Some more...</p>
<span class="number">100065568</span>
<span class="number">20054065568</span>

最新版本现在还修复了 100.0k 的问题。

关于javascript - jquery 数字格式到紧凑数字样式 k 千 m 百万等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52074923/

相关文章:

DataGridViewCellStyle 显示以千为单位的数值数据

java - 如何配置 Intellij 以在 Java 中格式化列表?

javascript - 如何在 JavaScript Mongodb 中新建一个 NumberDecimal()?

javascript - 在文本框中,如果用户在中间或除第一个位置之外的任何位置输入减号,它应该跳回前面

Javascript 如何使用 window.open 将变量传递给 URL 查询

jquery - 使用 jQuery 查找顶级 li

javascript - 无法添加动画以正确放置箭头

javascript - 将路由添加到我的 anglularjs 应用程序后出现错误

jquery - AngularJS 和 jQuery : Splitting textarea into multiple textareas

c - 打印精度