数字金额转换汉字金额

原创 2004年03月25日 17:14:00
 // 数字金额转换汉字金额
 function atoc(numberValue){
  
  var numberValue=new String(Math.round(numberValue*100)); // 数字金额
  var chineseValue="";          // 转换后的汉字金额
  var String1 = "零壹贰叁肆伍陆柒捌玖";       // 汉字数字
  var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分";     // 对应单位
  var len=numberValue.length;         // numberValue 的字符串长度
  var Ch1;             // 数字的汉语读法
  var Ch2;             // 数字位的汉字读法
  var nZero=0;            // 用来计算连续的零值的个数
  var String3;            // 指定位置的数值
  if(len>15){
   alert("超出计算范围");
   return "";
  }
  if (numberValue==0){
   
   chineseValue = "零元整";
   return chineseValue;
   
  }
  
  String2 = String2.substr(String2.length-len, len);   // 取出对应位数的STRING2的值
  
  for(var i=0; i<len; i++){
   
   String3 = parseInt(numberValue.substr(i, 1),10);   // 取出需转换的某一位的值
   //alert(String3);
   if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){
    
    if ( String3 == 0 ){
     
     Ch1 = "";
     Ch2 = "";
     nZero = nZero + 1;
     
    }else if ( String3 != 0 && nZero != 0 ){
     
     Ch1 = "零" + String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else{
     
     Ch1 = String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
    }
   }else{              // 该位是万亿,亿,万,元位等关键位
    if( String3 != 0 && nZero != 0 ){
     
     Ch1 = "零" + String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else if ( String3 != 0 && nZero == 0 ){
     
     Ch1 = String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else if( String3 == 0 && nZero >= 3 ){
     
     Ch1 = "";
     Ch2 = "";
     nZero = nZero + 1;
     
    }else{
     
     Ch1 = "";
     Ch2 = String2.substr(i, 1);
     nZero = nZero + 1;
     
    }
    
    if( i == (len - 11) || i == (len - 3)) {    // 如果该位是亿位或元位,则必须写上
     Ch2 = String2.substr(i, 1);
    }
    
   }
   chineseValue = chineseValue + Ch1 + Ch2;
   
  }
  
  if ( String3 == 0 ){           // 最后一位(分)为0时,加上“整”
   chineseValue = chineseValue + "整";
  }
  
  return chineseValue;
 }

java实现数字金额转换成汉字大写金额

我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码...
  • software7503
  • software7503
  • 2017年07月10日 20:21
  • 340

java将金额数字转换成对应的汉字

将金额数字转换成对应的中文汉字
  • cool_summer_moon
  • cool_summer_moon
  • 2017年02月23日 20:39
  • 1874

java练习:金额转换,阿拉伯数字转换成中文传统形式

import java.util.Scanner; public class Test2 { public static void main(String[] args) { // TOD...
  • fmi110
  • fmi110
  • 2015年09月05日 12:39
  • 1700

AngularJs学习笔记__6、自定义过滤器,阿拉伯数字金额转汉字金额

虽然,AngularJs内置了一些过滤器,但是有些时候,我们需要自己定义一些过滤器。下面就是一个阿拉伯数字金额转汉字金额的自定义过滤器。 不多说直接上源码: filter.js var fi...
  • polo_longsan
  • polo_longsan
  • 2015年08月15日 10:32
  • 2016

金额转换,阿拉伯数字转换成中国传统形式

import java.util.Scanner;public class Test9 { /** * 9、金额转换,阿拉伯数字转换成中国传统形式。 * 例如:1010000...
  • yixiaomeigui
  • yixiaomeigui
  • 2016年03月31日 11:54
  • 1110

数字转换为大写(vfp)

PARAMETERS lnMoneylnNumber = lnMoneyChinaMoney = ""DIME ChinaNo(10)ChinaNo(1) = "零"ChinaNo(2) = "壹"C...
  • da_ming
  • da_ming
  • 2001年07月18日 12:55
  • 838

android 金额输入验证(阿拉伯数字转换中文大写)

主要应用了文本框数据校验,数字转换,对话框的一些知识,下面是程序的一些截图和说明              文本框数据校验(只可以输入阿拉伯数字)              点击按钮弹出对话框...
  • thealert
  • thealert
  • 2011年07月29日 17:08
  • 1617

数字转中文【适用于金额转换和普通数字转换】

数字转中文【适用于金额转换和普通数字转换】 作者:Vashon 时间:20151015        今天在公司的项目里有个地方需要将数字转换成中文在页面显示,然后写了一个粗糙的工具类(时间紧迫...
  • yangwenxue_admin
  • yangwenxue_admin
  • 2015年10月15日 22:40
  • 2823

Java中实现数字金额到中文大写字符的转换!!

最近用到了数值转成大写人民币的功能,在网上找了一下只有C++版的,好容易找到一个java版的竟然收费!!没办法就自己弄一个出来,想必用到该功能的人肯定少,就拿出来与大家共享!! /**  * Titl...
  • netfalcon
  • netfalcon
  • 2004年03月09日 23:44
  • 2492

java-数字金额大写转换

/** * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零 要用到正则表达式 */ public static String digitUppercase(double n) { Str...
  • Leolu007
  • Leolu007
  • 2016年10月13日 09:41
  • 3297
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数字金额转换汉字金额
举报原因:
原因补充:

(最多只允许输入30个字)