在处理网页的时候,有时候会需要显示很长的数字,但是当数字的长度比较长的时候,就很难看一个数字到底是多大。这种情况下,一些网站在处理数字的时候,当数字的长度大于3个时,就用逗号把他们分开,这是一个比较常见的方式。但是我查了一下网页上将数字用逗号分开的方法,没有找到比较满意的。于是自己写一一个,在这里分享出来;

处理目标:将超过三位的时,使用逗号将数字分隔开来

  //////// 格式化数字,个三个数字加一个逗号
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;
}

以下是我自己处理的效果:使用 geshihua(onum) 调用数字,处理结果如下:效果还是蛮不错的~~~~

2. 在上面的函数中,是自己编写了一个判断 输入是不是数字的函数 isshuzi(),这里只判断了输入的第一个字符;其实js 中有一个内置函数,可以判断 输入是不是数字  isNaN(),判断是不是非数字,改写后格式化函数可以如

 //////// 格式化数字,个三个数字加一个逗号
function geshihua(onum) {
onum = $.trim(onum);
if (onum.length == 0) {
onum = "";
return onum;
};
if (onum.indexOf(",") == -1) { /////如果输入的是带逗号的东西,那么默认这是不需要再进行转化的,直接原样返回
var dataval = parseInt(onum);
var isfeishu = isNaN(dataval);
if (isfeishu) {
return onum; ///////如果是非数字,则原样输出
}
var data2 = dataval.toFixed(0).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
return data2;
} else {
return onum;
}
}

经过确认,也是可以使用的,下面就是我使用的一个结果:

最新文章

  1. [转]你不需要jQuery
  2. Command /usr/bin/codesign failed with exit code 1
  3. MySQL数据库主键设计原则
  4. 做fzu oj 1045 做减法学到的sprintf()函数
  5. php使用openssl进行Rsa长数据加密,解密保存问题
  6. PHP读书笔记(7)- 函数
  7. TamperData火狐插件启用
  8. Intellij IDEA 14的注册码
  9. UVA 658 It&#39;s not a Bug, it&#39;s a Feature!
  10. [Linux]命令行模式切换
  11. 【AIX】AIX 6.1 “C compiler cc is not found”问题的解决方案
  12. gosslary
  13. c# xml操作类
  14. busybox 致命错误: curses.h:没有那个文件或文件夹
  15. 四个常用的 Rewrite 使用范例
  16. [Gradle系列]Gradle打包apk多版本,多渠道,多环境,多功能,多模块随心所欲
  17. python基础下的mysql学习之操作命令(一)
  18. JavaCV 学习(二):使用 JavaCV + FFmpeg 制作拉流播放器
  19. 373. Find K Pairs with Smallest Sums 找出求和和最小的k组数
  20. IoGetRelatedDeviceObject学习

热门文章

  1. 多线程之BlockingQueue中 take、offer、put、add的一些比较
  2. 创建一个dynamics 365 CRM online plugin (五) - Images in Plugin
  3. pascalcontext-fcn全卷积网络结构理解
  4. [例子]Ubuntu虚拟机设置固定IP上网
  5. java安装与配置
  6. pecl 更换对应php版本
  7. CentOs 设置静态IP
  8. DiscuzX2.5,X3.0,X3.1,X3.2完整目录结构【模板目录template】
  9. HTML与CSS:结构与表现
  10. python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数