`
JAVA天地
  • 浏览: 673910 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

金额与数字转化常用实用几个JS方法

阅读更多

财务系统中常用到金额与数字转化的处理,这里包括以下几个方法:1、去空格2、页面控件的金额与数字之间的转换3、一般金额与数字之间的转换4、将数字金额转化为汉字金额。

//在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格
String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}


//将1,234,567.00转换为1234567.00
function moneyToNumFiled(obj) {
    var num=obj.value.trim();
    var ss=num.toString();
	if(ss.length==0){
	  return "";
	}	
    num=new Number(ss.replace(/,/g, ""));
	if(!/^(\+|-)?\d+(\.[0-9]{1,2})?$/.test(num)){
	  alert("必须是数字型,切小数位最多保留两位"); 
	  obj.value="";
	  obj.focus();
	  return ;
    }
	obj.value=num;
	   
}


//将1,234,567.00转换为1234567.00
function moneyToNumValue(val) {
    var num=val.trim();
    var ss=num.toString();
	if(ss.length==0){
	  return "0";
	}	
    return ss.replace(/,/g, "");
	
}

//用于页面控制
//将1234567.00转换为1,234,567.00
function numToMoneyField(obj) {
   
    var ss=obj.value.toString().trim();
	if(ss.length==0){
	  return "";
	}	
    var num=new Number(ss.replace(/,/g, ""));
	if(!/^(\+|-)?\d+(\.[0-9]{1,2})?$/.test(num)){
		
	  alert("必须是数字型,切小数位最多保留两位"); 
	  obj.value="";
	  obj.focus();
	  return;
    }
	
	if(num<0){
		obj.value = '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
	}else{
	    obj.value = outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
	}
}

//将1234567.00转换为1,234,567.00
function numToMoneyValue(val) {
   
    var ss=val.toString().trim();
	if(ss.length==0){
	  return "";
	}	
    var num=new Number(ss.replace(/,/g, ""));
	if(!/^(\+|-)?\d+(\.[0-9]{1,2})?$/.test(num)){
	  alert("必须是数字型,切小数位最多保留两位");	  
	  return "";
    }
	
	if(num<0){
		return '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
	}else{
	    return outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
	}
}

function Chinese(num){   //如输入123.45可得到 壹百贰拾叁元肆角伍分
    var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
    var BB = new Array("","拾","百","千","万","亿","","");
    var CC = new Array("角","分","");
    
    var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";

    for(var i=a[0].length-1; i>=0; i--){
        switch(k){
            case 0 : re = BB[7] + re; break;
            case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
                     re = BB[4] + re; break;
            case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
        }
        if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
        if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
    }
	if(re.trim().length>0){
	  re+="元"; 
	}
    
    if(a.length>1){ //加上小数部分(如果有小数部分)
        re += BB[6];
        for(var i=0; i1) break;
          re += AA[a[1].charAt(i)] + CC[i];
        }
    }

    return re;
}
//格式化输入数字,并保留指定位小数
//amount为原数字,_pow_为需要保留小数位数
function powAmount(amount,_pow_) {
	 var amount_bak=amount;
	 var base=10;
	 if(isNaN(amount)){
	 	alert(amount+'必须为数字');
	 	return;
	 }
	 if(isNaN(_pow_)){
	 	alert(_pow_+'必须为数字');
	 	return;
	 }
   amount = Math.round( ( amount - Math.floor(amount) ) *Math.pow(base,_pow_));
   amount=amount<10 ? '.0' + amount : '.' + amount
   amount=Math.floor(amount_bak)+amount;
   return amount;
}
分享到:
评论

相关推荐

    C# - 阿拉伯数字金额转换为繁体数字金额

    这个特定的项目“C# - 阿拉伯数字金额转换为繁体数字金额”专注于一个常见的财务处理任务,即把通常用阿拉伯数字表示的货币金额转化为繁体中文的表示方式。这在中文环境中特别有用,因为繁体数字在正式的商业文档和...

    js下将金额数字每三位一逗号分隔

    在JavaScript中实现金额数字每三位一逗号分隔的功能是一个常见的编程需求,尤其在财务相关的Web应用开发中。这种功能通常被称为金额格式化,目的是将数字按照人眼习惯的格式来显示,即千分位使用逗号分隔。本文将...

    finereport格式化金额函数js中进行数字超大金额千位符格式化处理.docx

    本文主要讲解了finereport格式化金额函数在JS中进行数字超大金额千位符格式化处理的方法。该需求在前端开发中非常普遍,例如音乐app中的歌曲播放数量、微博中的点赞数、评论留言条数、页面的访问量等。 我们可以...

    金额转换,中文金额转数字金额,数字金额转中文金额

    金额转换,中文金额转数字金额,数字金额转中文金额,中文金额转数字金额从字符串中获取中文大写金额或是数字金额,不支持小数,中文金额不支持混写,如 五千零壹十万元,不支持转换会输出0,字符串可以不用截取,...

    javascript数字金额转换为中文大写金额

    ### JavaScript 数字金额转换为中文大写金额 在日常财务处理、银行交易或是发票开具等场景中,将数字金额转换成中文大写金额是一项常见的需求。这种转换不仅可以提高正式文档的专业性,还能避免因数字易被篡改而...

    金额阿拉伯数字转换中文大写(全)

    综上所述,"金额阿拉伯数字转换中文大写"是一个实用的工具,尤其在财务工作中具有重要意义。通过编程实现这一功能,需要注意转换逻辑的精确性,同时提供用户友好的界面和稳定可靠的性能。在实际应用中,这样的工具...

    数字金额转换成中文金额的js

    数字金额转换成中文金额的js,希望给大家带来帮助

    将阿拉伯数字转换为汉字数字或者汉字大写金额

    1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...

    C#中将数字金额转化为大写金额

    ### C#中将数字金额转化为大写金额 在日常财务处理、票据填写等场景中,经常需要将阿拉伯数字表示的金额转换成汉字大写形式,特别是在中国的财务领域中更是如此。这种转换通常是为了确保金额的准确性和防止篡改。...

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

    根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...

    输入数字转换为大写金额输出

    ### 输入数字转换为大写金额输出 #### 背景介绍 在财务系统、银行交易以及其他需要处理货币的场合中,经常会遇到将数字转换成大写金额的需求。例如,在开具支票时,需要将数字金额转换成大写形式,以避免被篡改。...

    将数字转换为大写金额字符串源码(C#)

    以下是一个关于“将数字转换为大写金额字符串”的详细知识点: 1. **数字与汉字的对应关系**: 在转换过程中,数字0到9需要对应相应的汉字,如0对应“零”,1对应“壹”,以此类推。同时,还需要处理特殊的大写...

    javascript将数字转换整数金额大写的方法.docx

    ### JavaScript将数字转换为整数金额大写的方法详解 在日常的财务系统或者涉及货币处理的应用中,将数字转换为中文大写金额是一项常见的需求。本文将深入探讨一种利用JavaScript实现这一功能的方法,并通过具体代码...

    javascript 常用方法总结

    JavaScript 常用方法总结 JavaScript 是一种广泛应用于 Web 开发的编程语言,提供了许多实用的方法来操作字符串和数组。下面将对 JavaScript 中常用的字符串和数组方法进行总结。 字符串方法 1. `charAt()`: 返回...

    将用罗马数字表示的金额转化为中文大写表示

    本篇文章将详细讲解如何将用罗马数字表示的金额转化为中文大写表示,主要关注Java编程语言实现这一功能的方法。 首先,我们需要理解罗马数字的基本规则。罗马数字通常使用七个符号来表示数字:I(1)、V(5)、X...

    数字信号处理常用方法和原理.doc

    数字信号处理常用方法和原理 一、数字信号处理基础概念 数字信号处理(Digital Signal Processing,DSP)是针对数字信号的数学过程。信号可分为模拟信号(Analog Signal)和数字信号(Digital Signal),硬件系统...

    vb数字、金额大小写转换源码

    这个“vb数字、金额大小写转换源码”提供了一种解决方案,帮助开发者将数字或者金额从阿拉伯数字形式转换为中文的大写形式,以满足中国财务规范的要求,比如在填写支票或财务报表时。 在中文中,数字的大小写转换有...

    数字定时翻牌效果js代码

    7. **数据处理**:如果数字是实时更新的,那么JavaScript可能需要处理从服务器获取的实时数据,将其转换为适合翻牌格式,并触发翻转动画。 8. **性能优化**:在实现定时翻牌效果时,需要注意性能问题,避免频繁的...

    oracle 数字金额转为汉字大写

    在Oracle数据库环境中,有时我们需要将数字金额转换成汉字大写形式,这在财务报表或理财程序中尤为常见,因为汉字大写是财务领域的一种标准表示方式,可以避免因数字混淆而引发的错误。本篇文章将深入探讨如何在...

Global site tag (gtag.js) - Google Analytics