自定义编写js格式化数字的函数
处理网页时,有时需要显示长数字,但是当数字长度很长时,很难看出数字有多大。在这种情况下,当一些网站正在处理数字时,当数字的长度大于三时,它们用逗号分隔,这是一种常见的方式。但我检查了在网页上用逗号分隔数字的方法,我觉得它并不令人满意。所以自己写一个并在这里分享;
处理目标:将超过三位的时,使用逗号将数字分隔开来
//////// 格式化数字,个三个数字加一个逗号
function geshihua(onum) {
////空字符这返回原来的空字符
onum = $.trim(onum);
if (onum.length == 0) {
onum = "";
return onum;
};
////不是数字,则原样返回
var ishu = isshuzi(onum);
if (!ishu) {
return onum;
}
//////是数字,则进行加逗号
if (onum.indexOf(",") == -1) {
var dataval = parseInt(onum);
var data2 = dataval.toFixed(0).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
return data2;
} else {
return onum;
}
}
////取输入数据的第一个字符,比较他们的ascII码,如果是数字,则ASCII码一定在48---57 之间,
/////如果不是,则不在这个区间内,这样就可以判断它到底是不是一个数字了
function isshuzi(onum) {
var oval = $.trim(onum);
var oval = oval.charCodeAt(0);
var oflag = true;
/////////0---9 的ascII码是48---57
if (oval < 48 || oval > 57) {
oflag = false;
} else {
oflag = true;
}
return oflag;
}本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!