没想到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版本号 金额千分之一转换功能(非规范,高效率)的更多相关文章

  1. 前端(js/jquery) 日期和时间戳的转换

    一.JavaScript中获取当前时间的时间戳 方法一: var timestamp=Date.parse(new Date()); ====>结果是:1451441086000 注:这种方式精 ...

  2. js jquery版本的 金额千分位转换函数(非正则,效率极高)

    没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...

  3. [js开源组件开发]数字或金额千分位格式化组件

    数字或金额千分位格式化组件 这次距离上一个组件<[js开源组件开发]table表格组件>时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和 ...

  4. 22-[jQuery]-选择器, js jQuery对象转换

    1.基础选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. js/jquery/html前端开发常用到代码片段

    1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...

  6. js/jQuery使用过程中常见问题

    目录 一.jQuery选择器选择选中的或者disabled的选择框时attr函数无效 二.jQuery each函数的break/continue 三.jQuery 获取元素的left会值/left数 ...

  7. [转]JS中对象与字符串的互相转换

    原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...

  8. JS中对象与字符串的互相转换

    在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...

  9. JS Jquery去除数组重复元素

    js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...

随机推荐

  1. Codeforce 143B - Help Kingdom of Far Far Away 2

    B. Help Kingdom of Far Far Away 2 time limit per test 2 seconds memory limit per test 256 megabytes ...

  2. Android 结合实例学会AsyncTask的使用方法

    AsyncTask运行时经过四个步骤,运行四个方法:           1.onPreExecute(),执行在UI线程,能够设置或改动UI控件,如显示一个进度条           2.doInB ...

  3. [android]APP启动界面——SplashActivity

    概念 当前应用程序在启动的时候都会有一个展示自己公司LOGO和APP名字的界面.这个界面成为SplashActivity. 布局 <? xml version="1.0" e ...

  4. 4、深入理解Bean

    本节知识点: 1. Bean 的自己主动装配(了解) 2. bean 之间的关系:继承:依赖 3.Bean 的作用域:能够在 <bean> 元素的 scope 属性里设置 Bean 的作用 ...

  5. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  6. Android_app项目开发步骤总结

    做了几个android企业应用项目后,总结了项目的基本开发步骤.希望可以交流. 一 应用规划:      ※确定功能.      ※必须的界面及界面跳转的流程.      ※须要的数据及数据的来源及格 ...

  7. HDOJ 2736 Surprising Strings

    Surprising Strings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. 移动开发平台-应用之星app制作教程

    目前在AppStore.GooglePlay等应用商店里已经有以百万计的Apps,应用程序使移动互联网空间得以无限拓展.很多人梦想着AngryBirds式的奇迹在自己身上发生,他们渴望自己开发的应用程 ...

  9. [ACM] HDU 2063 过山车 (二分图,匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  10. SharePoint采用BCS开发第一个应用程序(两)

    SharePoint采用BCS开发第一个应用程序(两) 创建外部数据源 在本章中,我们使用AdventureWorksLT2008 SQL Server数据库作为外部数据源.下图显示了表SalesLT ...