js jquery版本号 金额千分之一转换功能(非规范,高效率)
没想到js将没有 金额千分之一格处理器类型(例子:1,234.01 这种格公式)。互联网搜索圈,我们使用的是常规方式。常规效率受宠若惊啊。和资源密集型,速度慢(虽然处理起来会很直观)。
因此专门写一个纯粹的数值符串个 金额千分位处理函数,并封装成jQuery函数包,处理时效率非常高,可高频率的使用。直接上代码。
还有min压缩版本号可点击连接下载。
假设你不是jQuery环境,直接把源代码拿出来,又一次封装到自己的函数中可以就能用。
源代码以及min包下载地址:jQuery.formatMoney.rar
/**
* 金额按千位逗号切割
* @character_set UTF-8
* @author Jerry.li(hzjerry@gmail.com)
* @version 1.2014.08.24.2143
* Example
* <code>
* alert($.formatMoney(1234.345, 2)); //=>1,234.35
* alert($.formatMoney(-1234.345, 2)); //=>-1,234.35
* alert($.unformatMoney(1,234.345)); //=>1234.35
* alert($.unformatMoney(-1,234.345)); //=>-1234.35
* </code>
*/
;(function($)
{
$.extend({
/**
* 数字千分位格式化
* @public
* @param mixed mVal 数值
* @param int iAccuracy 小数位精度(默觉得2)
* @return string
*/
formatMoney:function(mVal, iAccuracy){
var fTmp = 0.00;//暂时变量
var iFra = 0;//小数部分
var iInt = 0;//整数部分
var aBuf = new Array(); //输出缓存
var bPositive = true; //保存正负值标记(true:正数)
/**
* 输出定长字符串,不够补0
* <li>闭包函数</li>
* @param int iVal 值
* @param int iLen 输出的长度
*/
function funZero(iVal, iLen){
var sTmp = iVal.toString();
var sBuf = new Array();
for(var i=0,iLoop=iLen-sTmp.length; i<iLoop; i++)
sBuf.push('0');
sBuf.push(sTmp);
return sBuf.join('');
}; if (typeof(iAccuracy) === 'undefined')
iAccuracy = 2;
bPositive = (mVal >= 0);//取出正负号
fTmp = (isNaN(fTmp = parseFloat(mVal))) ? 0 : Math.abs(fTmp);//强制转换为绝对值数浮点
//全部内容用正数规则处理
iInt = parseInt(fTmp); //分离整数部分
iFra = parseInt((fTmp - iInt) * Math.pow(10,iAccuracy) + 0.5); //分离小数部分(四舍五入) do{
aBuf.unshift(funZero(iInt % 1000, 3));
}while((iInt = parseInt(iInt/1000)));
aBuf[0] = parseInt(aBuf[0]).toString();//最高段区去掉前导0
return ((bPositive)?'':'-') + aBuf.join(',') +'.'+ ((0 === iFra)? '00':funZero(iFra, iAccuracy));
},
/**
* 将千分位格式的数字字符串转换为浮点数
* @public
* @param string sVal 数值字符串
* @return float
*/
unformatMoney:function(sVal){
var fTmp = parseFloat(sVal.replace(/,/g, ''));
return (isNaN(fTmp) ? 0 : fTmp);
},
});
})(jQuery);
版权声明:本文博主原创文章,博客,未经同意不得转载。
js jquery版本号 金额千分之一转换功能(非规范,高效率)的更多相关文章
- 前端(js/jquery) 日期和时间戳的转换
一.JavaScript中获取当前时间的时间戳 方法一: var timestamp=Date.parse(new Date()); ====>结果是:1451441086000 注:这种方式精 ...
- js jquery版本的 金额千分位转换函数(非正则,效率极高)
没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...
- [js开源组件开发]数字或金额千分位格式化组件
数字或金额千分位格式化组件 这次距离上一个组件<[js开源组件开发]table表格组件>时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和 ...
- 22-[jQuery]-选择器, js jQuery对象转换
1.基础选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- js/jquery/html前端开发常用到代码片段
1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...
- js/jQuery使用过程中常见问题
目录 一.jQuery选择器选择选中的或者disabled的选择框时attr函数无效 二.jQuery each函数的break/continue 三.jQuery 获取元素的left会值/left数 ...
- [转]JS中对象与字符串的互相转换
原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...
- JS中对象与字符串的互相转换
在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...
- JS Jquery去除数组重复元素
js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...
随机推荐
- 该项目的建设maven片:4.协调和依赖,spring依赖注入demo
源码下载 协调 <groupId>com.demo.animal</groupId> <artifactId>animal-core</artifactId& ...
- A Game of Thrones(11) - Daenerys
Daenerys Targaryen wed Khal Drogo with fear and barbaric([bɑː'bærɪk]野蛮的,粗野的) splendor(光彩:壮丽) in a fi ...
- Android开展:ADT+Eclipse使用错误:Text editor does not have a document provider
Eclipse参加Android sdk源代码 正在使用Eclipse进行Android开发时间,我们经常需要导入sdk源代码来Eclipse中,方便api阅读和查询,详细操作为:ctrl+鼠标左键. ...
- WPF实现无窗体鼠标跟随
原文:WPF实现无窗体鼠标跟随 上次的弹力模拟动画实现后,我觉得可以把这个弄得更好玩一些,我们可以让小球实时跟随着鼠标,并且还可以让窗口完全消失,让小球在桌面上飞来飞去. 这只需要一些简单的修改就可以 ...
- codeforces293E (树上点分治+树状数组)
和poj1747相比起来,只不过是限制条件多了一维. 而多了这一维,所以需要用树状数组来维护,从而快速得到答案. 因为没注意传进树状数组函数的参数可能是<=0的,导致超时了好久. #pragma ...
- json级联城市
代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> < ...
- 大页(huge pages) 三大系列 ---计算大页配置参数
使用以下shell 脚本来计算大页配置参数,确保使用脚本实例之前的数据已经开始, 如果数据库的版本号11g,确认是否使用自己主动的内存管理(AMM) +++++++++++++++++++++++++ ...
- WPF Delegate委托整理
那啥,是从这里整理出来的,感谢Rising_Sun,整理的过于简单,看不明白的戳这里 using System; using System.Collections.Generic; using Sys ...
- 【C语言探险】 第四课的第二部分:串
内容简单介绍 1.课程大纲 2.第二部分第四课: 字符串 3.第二部分第五课预告: 预处理 课程大纲 我们的课程分为四大部分,每个部分结束后都会有练习题,并会发布答案.还会带大家用C语言编写三个游戏. ...
- poj 2309 BST 使用树阵lowbit
假设领悟了树阵lowbit,这个问题很简单,底部是奇数,使用lowbit(x)寻找x父亲,然后x父亲-1是的最大数量 至于lowbit问题是如何计算,寻找x父亲,事实上x+2^x二进制结束0的数量. ...