📅  最后修改于: 2023-12-03 14:43:19.843000             🧑  作者: Mango
在前端开发中,数据的展示往往需要进行数字格式化,特别是当数字较大时,需要对其进行千位分隔、添加单位等操作,以提升用户体验。一个轻便、易用的jQuery插件——jQuery数字格式千k便应运而生。
首先需要引入jQuery和插件文件:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="./jquery.numberFormat.js"></script>
然后就可以进行数字格式化了:
<div id="num">9999999</div>
$("#num").numberFormat(); // 输出:9,999,999
还可以选择保留小数点后几位,并添加后缀:
<div id="num2">123456.789</div>
$("#num2").numberFormat({
decimal: 2, // 保留小数点后两位
suffix: '元' // 添加单位后缀
}); // 输出:123,456.79元
| 参数名 | 默认值 | 说明 | | --- | --- | --- | | decimal | 0 | 保留小数点后的位数 | | suffix | "" | 单位后缀,例如:万元、亿等 |
jQuery数字格式千k插件兼容以下浏览器:
插件的完整代码片段如下所示:
$.fn.numberFormat = function (options) {
var self = $(this);
var defaultValue = {
decimal: 0,
suffix: ""
};
var settings = $.extend(defaultValue, options);
var re = /(\d)(?=(\d{3})+(?!\d))/g;
function parseNumber(str) {
var number = parseFloat(str);
if (isNaN(number)) {
return "";
}
if (settings.decimal > 0) {
number = number.toFixed(settings.decimal);
}
return number.toString();
}
function formatNumber(str) {
return str.replace(re, "$1,");
}
function format() {
var text = self.text();
var number = parseNumber(text);
var formattedNumber = formatNumber(number);
self.text(formattedNumber + settings.suffix);
}
return this.each(function () {
format();
});
};