在处理网页的时候,有时候会需要显示很长的数字,但是当数字的长度比较长的时候,就很难看一个数字到底是多大。这种情况下,一些网站在处理数字的时候,当数字的长度大于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;
}
}

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

自定义编写js格式化数字的函数的更多相关文章

  1. js 格式化数字,格式化金额:

    js 格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * nu ...

  2. JS格式化数字金额用逗号隔开保留两位小数

    JS格式化金额,正则方式修改. /** * 格式化金额 * @param {[type]} v [要转换的数字] * @param {[type]} len [小数点位数,默认2位] * @param ...

  3. js 格式化时间日期函数小结

    下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { &q ...

  4. JS格式化数字保留两位小数点示例代码

    格式化数字保留两位小数点实现的方法有很多,在接下来的文章中将为大家详细介绍下如何使用js来实现 a = a.toFixed(2);//保留2位但结果为一个String类型 a = parseFloat ...

  5. js格式化数字和金额

    格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * numbe ...

  6. js格式化数字

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. js 格式化时间日期函数小结3

    function DateUtil(){}/***功能:格式化时间*示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 ...

  8. js 格式化数字

    http://www.jb51.net/article/61585.htm 这篇文章主要介绍了JS实现的4种数字千位符格式化方法分享,本文给出了4种千分位格式化方法并对它们的性能做了比较,需要的朋友可 ...

  9. js格式化数字,金额按千位逗号分隔,负号用括号

    // 返回数字 function removeFormatMoney(s) { s = s.toString().replace("(","-").replac ...

随机推荐

  1. ANSYS中的阻尼damper

    详情请见链接: ANSYS中的阻尼 ANSYS动力学分析中的阻尼

  2. 用汇编语言角度来理解C语言的一些问题

    在汇编的世界里,整数的存在和表示是没有有符号数和无符号数之分的,都是用数的补码表示,有无符号的计算是靠指令来进行确定.如JA/JB是用于无符号数的跳转指令,而JG/JL则是用于有符号数的指令.汇编中的 ...

  3. stolon cloud native postgresql 高可用方案

    stolon方案与patroni 类似,是一个新的pg ha 方案 包含的组件 keeper:它管理一个PostgreSQL实例,汇聚到由领导者sentinel计算的clusterview. sent ...

  4. zabbix 4.2 支持 timescledb 了

    zabbix 4.2 已经发布了, 添加了好多新功能 支持prometheus 数据收集 支持timescaledb 支持http header 处理 更加友好的邮件通知格式 添加远程监控组件 简化标 ...

  5. Python3源码学习-requests

    源码:https://github.com/small99/AutoLink 本地安装包 version.txt记录版本号. 通过requests GET最新git上版本号. import codec ...

  6. dubbo 中文官网

    根大家分享一下:dubbo的中文官网迁移到了githup上地址:https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background ...

  7. 前端基础:web语义化

    web语义化 一.什么是web语义化? web语义化包含两方面,一是html标签语义化,简单来说就是要用合适的标签来表述适当的内容,标题用<h1>~~<h6>标签,段落用< ...

  8. SoapUI测试WebService接口

      Getting Started Getting started with some ad-hoc testing of a SOAP service is straight forward; se ...

  9. vs单独调试dll

    用生成好的exe单独调试dll,右键项目属性->调试->命令->选择exe

  10. ORA-00984: 列在此处不允许 SQL parse error location

      ORA-00984: 列在此处不允许SQL parse error location Oracle 插入数据的时候一直提示列在此处不允许.网上搜索答案说是类型不匹配的多,但我的错误确是一个低级错误 ...