javascript 格式化数字
2016-04-08 15:06
639 查看
/** * 数字格式化 * @param src 源数据 * @param fengewei 多少位一分割 * @param baoliuweishu 保留小数位数 * @param dianhoushifufen 小数点后是否也分割 * @returns {String} 格式化后字符串 */ function numberFormat(){ var len=arguments.length; if(len==1){ var src=arguments[0]; return Format(src,3,2,false); }else if(len==2){ var src=arguments[0]; var baoliuweishu=arguments[1]; return Format(src,3,baoliuweishu,false); }else if(len==3){ var src=arguments[0]; var fengewei = arguments[1]; var baoliuweishu=arguments[2]; return Format(src, fengewei, baoliuweishu,false); }else if(len==4){ var src=arguments[0]; var fengewei=arguments[1]; var baoliuweishu=arguments[2]; var dianhoushifufen=arguments[3]; return Format(src, fengewei, baoliuweishu,dianhoushifufen); } } /** * 为数字添加分隔符 * @param src * @param fengewei * @param baoliuweishu * @param dianhoushifufen * @returns {String} */ function Format(src, fengewei, baoliuweishu, dianhoushifufen) { if (typeof src != "number") { alert("传入源数据不是数字,请检查"); return; } if (typeof fengewei != "number") { alert("传入分割位数不是数字,请检查"); return; }else if((fengewei + '').indexOf('.') != -1){ alert("传入分割位数不是整数,请检查"); return } if (typeof baoliuweishu != "number") { alert("传入保留位数不是数字,请检查"); return; }else if((baoliuweishu + '').indexOf('.') != -1){ alert("传入分割位数不是整数,请检查"); return } if (typeof dianhoushifufen != "boolean") { alert("传入小数点后是否保留是true或false,请检查"); return; } var currsrc = src + ""; if (baoliuweishu != "" && baoliuweishu > 0) { currsrc = formatFloat(src, baoliuweishu) + ""; } var num = currsrc.split('.'); var arr = num[0].split(''); var b = '';var c=''; var index = 0;var index1=0; for ( var i = arr.length - 1; i >= 0; i--) { if (index % fengewei == 0) { b = arr[i] + ',' + b; } else { b = arr[i] + b; } ++index; } b = b.substring(0, b.lastIndexOf(',')); if(dianhoushifufen==false){ if (num.length > 1) { b = b + '.' + num[1]; } }else{ var arr1=num[1].split(''); for ( var i = 0; i <arr1.length; i++) { if (index1 % fengewei == 0) { if(index1!=0){ c = c+","+arr1[i]; }else{ c=c+arr1[i]; } } else { c = c+arr1[i] ; } ++index1; } b=b+"."+c; } return b; } /** * 保留小数位数 * * @param src 源数据 * @param pos 保留位数 * @returns {Number} */ function formatFloat(src, pos) { return Math.round(parseFloat(src) * Math.pow(10, pos)) / Math.pow(10, pos); }
相关文章推荐
- js实现跑马灯效果
- json常用
- javaScript中的this关键字解析
- JavaScript数据绑定实现一个简单的 MVVM 库
- SharePoint之JavaScript客户端对象模型
- Eclipse去除js(JavaScript)错误
- Extjs 如何得到grid中某一列的值
- Javascript中escape(), encodeURI()和encodeURIComponent()之精析与比较
- js实现琴弦效果(兼容IE7)
- Json格式字符串转为对象源码
- JS开发页面小组件:table组件
- js获取url参数值的两种方式
- JSTL标签
- Jsp 内置对象
- JavaScript的第一次小结
- Json与Gson讲解
- Json
- js中对style中的多个属性进行设值
- jsp内部传参与重定向传参
- js中如何获取时间