`
流浪鱼
  • 浏览: 1693987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js格式化货币格式

    博客分类:
  • js
 
阅读更多

 

// 初始化金额字段
function initCurrencyField(){
	$("input.currency").each(function(){
		$(this).val(formatCurrency($(this).val()));
		// 绑定事件
		$(this).focus(function(){
			$(this).val(trim($(this).val()));
		});
		
		$(this).blur(function(){
			var value = $(this).val();
			if(!isDouble(value)){
				alert("请输入正确的数值");
				$(this).val(0);
				$(this).focus();
				return;
			}
			$(this).val(formatCurrency(value));
		});
	});
}

function isDouble(value) {
	var Double = /^[-\+]?\d+(\.\d+)?$/;
	value = value.replace(/,/g, '');
	return Double.test(value);
};

function formatCurrency(value) {
    if (MRound(value, 6) == 0) {
        return "0.00";
    }

    var v = '' + value;
    v = v.replace(/[¥,]/g, '');
    var prefix  = '';
    if (v.indexOf("-") == 0) {
    	prefix = v.substring(0, 1);
    	v = v.substring(1);
    }
    
    var s = '';
    if (v.indexOf(".") != -1) {
        var index = v.indexOf(".");
        s = v.substring(index);
        var moreOne = 0;
        if (s.length > 3) {
            var num = parseInt(s.substring(1, 3), 10);
            if (parseInt(s.substring(3, 4), 10) > 4) {
                num++; // 四舍五入
                if (num >= 100) {
                	moreOne++;
                	num = num - 100;
                }
            }
            if (num < 10) {
				s = ".0" + num;
			} else {
				 s = "." + num;
			}
            if (s.length == 2) {
            	s += '0';
            }
        } else if (s.length == 2) {
            s += '0';
        }
        v = v.substring(0, index);
        if (moreOne > 0) {
        	v = parseFloat(v) + moreOne;
        }
    } else {
        s = '.00';
    }
    var len = v.length;

    while (len > 3) {
        s = ',' + v.substring(len - 3) + s;
        v = v.substring(0, len - 3);
        len -= 3;
    }
    s = prefix + v + s;

    return s;
}

function MRound(m, n) {
    return Math.round(m * Math.pow(10, n)) / Math.pow(10, n);
}

function trim(str) {
	return str.trim().replace(/[¥,%]/g, '');
}

 

分享到:
评论

相关推荐

    javascript数字格式化为货币字符,数字格式化为大写货币

    在JavaScript中,对数字进行货币格式化的处理是非常常见的需求,尤其是在财务或电子商务相关的应用程序中。以下是对给定代码片段的深入解析和知识点总结。 #### 标准货币格式化函数 `formatCurrency` 此函数实现了...

    纯js实用格式化货币插件

    "纯js实用格式化货币插件",即currencyFormatter.js,就是为了解决这个问题而诞生的一款高效工具。 currencyFormatter.js是一个轻量级的JavaScript库,它专为前端开发者设计,用于将数字转换为格式化的货币值。这个...

    currencyFormatterjs是一款简单实用的纯js格式化货币插件

    `currencyFormatterjs` 是一款专为前端开发者设计的轻量级JavaScript插件,其主要功能是实现对货币数值的格式化处理。这款插件具有强大的国际化支持,覆盖了155种不同的国家货币,并且包含了715种语言的本地化设置,...

    纯js实用格式化货币插件.zip

    《纯JavaScript实现的货币格式化插件:currencyFormatter.js》 在Web开发中,处理货币数据的格式化是一项常见的任务,特别是在涉及国际化的项目中。currencyFormatter.js是一款强大的纯JavaScript插件,专为此目的...

    对页面货币格式进行格式化的js

    一个用js写的,对页面货币格式进行格式化的js

    JS中格式化数字的5个方法

    此函数用于格式化金额数字,使其具有标准的货币格式。它能够正确处理负数,并确保结果始终保留两位小数。 #### 参数说明 - `amount`: 需要被格式化的金额数字。 #### 示例代码 ```javascript function ...

    jQuery货币金钱格式化数字插件

    accounting.js是什么,金钱和货币格式一个微小的JavaScript库,使用可选的Excel风格的列渲染(排队符号和小数)。它的重量轻,完全可本地化和具有零依赖性。 演示地址:http://www.jq22.com/jquery-info326

    基于vueelement的金额格式化组件

    "基于vue-element的金额格式化组件"是针对这一需求而设计的,它将帮助我们在Vue.js应用中方便地展示和输入货币值。 Vue Element是一个结合了Element UI库的Vue.js插件,Element UI提供了一套美观、易用的组件,适用...

    采用js实现具有复杂字符串的格式化操作类库函数

    "JavaScript StringBuilder" 是一个专门用于处理复杂字符串格式化的类库函数,它提供了强大的字符串操作功能,能够有效地处理包含正则表达式、日期和货币格式的字符串。这个库尤其适合在需要频繁拼接和格式化字符串...

    货币格式化

    本篇文章将通过一个具体的示例来讲解如何利用JavaScript语言中的正则表达式和字符串操作来实现货币格式化。 #### 示例代码解析 首先,我们来看一下题目中给出的部分代码: ```javascript var price = ...

    js处理货币格式插件currency.js

    - `fonts`:这个目录可能包含了插件在格式化货币时使用的特殊字体文件。 - `js`:存放JavaScript文件的地方,包括`currency.js`插件本身和其他可能的辅助脚本。 - `css`:CSS样式表,用于美化插件的输出或界面。 - `...

    javascript精确计算日期处理金额格式化

    Numeral.js提供了一种方便的方式来格式化数字,包括货币,百分比,数字等。例如,`numeral(1234567.89).format('0,0.00')`将输出"1,234,567.89"。accounting.js则提供了类似的功能,如`accounting.formatMoney...

    JS对货币余额格式化为标准格式

    JS对货币余额格式化为标准格式,最终结果是以英文逗号分隔,并且可以保存一位或者两位小数

    基于 Vue.js 显示格式化货币值的输入字段组件.zip

    vue-numeric 输入字段组件,用于根据Vue显示格式化的货币值。现场演示与 Vue 2 兼容。 *安装通过 CDN 安装&lt;script src="https://unpkg.com/accounting-js"&gt;&lt;/script&gt;&lt;script src=...

    js字符串转货币格式及金额小写转大写

    这段代码会在用户输入时更新显示的格式化货币和大写金额。 综上所述,处理JavaScript中的货币格式化和金额转换涉及到字符串操作、正则表达式、自定义函数以及DOM操作等多个方面。通过这些方法,我们可以确保在前端...

    js格式化货币数据实现代码

    在JavaScript中,格式化货币数据是一项常见的任务,特别是在前端开发中,我们经常需要将数字转换为具有特定格式的货币字符串,以便在用户界面中清晰、规范地展示。本篇文章将详细解析如何使用JavaScript编写一个函数...

    JavaScript 格式化浮点类型函数

    3. **货币格式化**:如果需要将数字格式化为货币样式,可以使用`Intl.NumberFormat`全局对象,它提供了本地化支持。例如,`new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(num)`将...

    jQuery文本输入框内容格式化代码.zip

    而"js"目录则包含了核心的JavaScript代码,即jQuery文本输入框格式化插件的实现。 总的来说,这个插件是前端开发中一个非常实用的工具,它简化了用户在文本输入框中输入格式化数据的过程,提高了输入效率,同时也...

    JavaScript数字格式化函数

    在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...

    v-currency-用于格式化货币的Vue组件。-Vue.js开发

    v-currency一个用于在Vue.js中格式化货币的插件用法Vue.use(Currency,{“ type”:“ USD”,“ thousandSeparator”:true,}); 为了使用v vcurrency一个插件,用于格式化Vue.js中的货币用法Vue.use(Currency,...

Global site tag (gtag.js) - Google Analytics