JS组件 金额数字格式化 千位逗号分割 小数点后2位 四舍五入

这是一个JavaScript工具组件,提供类似jQuery的使用方式,包含两个功能:金额数字按千位逗号分割的`formatMoney`方法和将千分位格式数字字符串转换为浮点数的`unformatMoney`方法。可用于网页中快速处理金额展示和计算。
摘要由CSDN通过智能技术生成

此组件可以像 jQuery 一样注册成为JS组件直接调用,同时包括金额数字格式化功能,只要在页面中引入该文件就可以用Tools.formatMoney(...) T.formatMoney(...)  来格式化金额。

如果能帮到您,请在文章下方留言点赞收藏,以表对我的鼓励认可

工具JS组件,包括2个方法

  1、金额按千位逗号分割

alert( Tools.formatMoney(1234.345) );   //=>1,234.35
alert( Tools.formatMoney(-1234.345) );  //=>-1,234.35

  2、将千分位格式的数字字符串转换为浮点数

alert( Tools.unformatMoney("1,234.345") );  //=>1234.35
alert( Tools.unformatMoney("-1,234.345") ); //=>-1234.35


完整JS文件代码如下,可以复制到单独js文件中使用

/**
 * 工具JS组件
 *  1.金额按千位逗号分割
 *  2.将千分位格式的数字字符串转换为浮点数
 * Example
 * <code>
 * alert(Tools.formatMoney(1234.345)); //=>1,234.35
 * alert(Tools.formatMoney(-1234.345)); //=>-1,234.35
 * alert(Tools.unformatMoney("1,234.345")); //=>1234.35
 * alert(Tools.unformatMoney("-1,234.345")); //=>-1234.35
 * </code>
 */
(function(window, undefined) {
    var Tools = {
		
        /**
         * 金额按千位逗号分割,数字千分位格式化
         * @public
         * @param mixed mVal 数值
         * @return string
		 *
		 * Example
		 * <code>
		 * alert(Tools.formatMoney(1234.345)); //=>1,234.35
		 * alert(Tools.formatMoney(-1234.345)); //=>-1,234.35
		 * </code>
         */
        formatMoney:function(mVal,suf){
        	
            var num = mVal.toString();
            if (!num) return "0.00";
            num = num.toString().replace(/\$|\,/g, ''); // 去除$符号
            if (isNaN(num)) num = "0.00";
            var sign = (num == (num = Math.abs(num)));
            num = Math.floor(num * 100 + 0.50000000001);
            var cents = num % 100;
            num = Math.floor(num / 100).toString();
            if (cents < 10) cents = "0" + cents;
            for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
            return ( (suf?suf:"") +  ((sign) ? '': '-') + '' + num + '.' + cents);
        },
		
        /**
         * 将千分位格式的数字字符串转换为浮点数
         * @public
         * @param string sVal 数值字符串
         * @return float
		 *
		 * Example
		 * <code>
		 * alert(Tools.unformatMoney("1,234.345")); //=>1234.35
		 * alert(Tools.unformatMoney("-1,234.345")); //=>-1234.35
		 * </code>
         */
        unformatMoney:function(sVal){
            var fTmp = parseFloat(sVal.replace(/,/g, ''));
            return (isNaN(fTmp) ? 0 : fTmp);
        }

    };

    window.Tools = window.T = Tools;

})(window);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值