阿拉伯金额转中文大写及英文格式

金额大写

 下面是前端转大写:

 

< script language = " javascript "  type = " text/javascript " >
function convertCurrency(currencyDigits) 
{
// Constants:
var MAXIMUM_NUMBER = 99999999999.99;
// Predefine the radix characters and currency symbols for output:
var CN_ZERO = "";
var CN_ONE 
= "";
var CN_TWO 
= "";
var CN_THREE 
= "";
var CN_FOUR 
= "";
var CN_FIVE 
= "";
var CN_SIX 
= "";
var CN_SEVEN 
= "";
var CN_EIGHT 
= "";
var CN_NINE 
= "";
var CN_TEN 
= "";
var CN_HUNDRED 
= "";
var CN_THOUSAND 
= "";
var CN_TEN_THOUSAND 
= "";
var CN_HUNDRED_MILLION 
= "亿";
var CN_SYMBOL 
= "人民币";
var CN_DOLLAR 
= "";
var CN_TEN_CENT 
= "";
var CN_CENT 
= "";
var CN_INTEGER 
= "";

// Variables:
var integral; // Represent integral part of digit number.
var decimal// Represent decimal part of digit number.
var outputCharacters; // The output result.
var parts;
var digits, radices, bigRadices, decimals;
var zeroCount;
var i, p, d;
var quotient, modulus;

// Validate input string:
currencyDigits = currencyDigits.toString();
if (currencyDigits == ""{
alert(
"Empty input!");
return "";
}

if (currencyDigits.match(/[^,.d]/!= null{
alert(
"Invalid characters in the input string!");
return "";
}

if ((currencyDigits).match(/^((d{1,3}(,d{3})*(.((d{3},)*d{1,3}))?)|(d+(.d+)?))$/== null{
alert(
"Illegal format of digit number!");
return "";
}


// Normalize the format of input digits:
currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters.
currencyDigits = currencyDigits.replace(/^0+/""); // Trim zeros at the beginning.
// Assert the number is not greater than the maximum number.
if (Number(currencyDigits) > MAXIMUM_NUMBER) {
alert(
"Too large a number to convert!");
return "";
}


// Process the coversion from currency digits to characters:
// Separate integral and decimal parts before processing coversion:
parts = currencyDigits.split(".");
if (parts.length > 1{
integral 
= parts[0];
decimal = parts[1];
// Cut down redundant decimal digits that are after the second.
decimal = decimal.substr(02);
}

else {
integral 
= parts[0];
decimal = "";
}

// Prepare the characters corresponding to the digits:
digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);
radices 
= new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);
bigRadices 
= new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);
decimals 
= new Array(CN_TEN_CENT, CN_CENT);
// Start processing:
outputCharacters = "";
// Process integral part if it is larger than 0:
if (Number(integral) > 0{
zeroCount 
= 0;
for (i = 0; i < integral.length; i++{
= integral.length - i - 1;
= integral.substr(i, 1);
quotient 
= p / 4;
modulus 
= p % 4;
if (d == "0"{
zeroCount
++;
}

else {
if (zeroCount > 0){
outputCharacters 
+= digits[0];
}

zeroCount 
= 0;
outputCharacters 
+= digits[Number(d)] + radices[modulus];
}

if (modulus == 0 && zeroCount < 4{
outputCharacters 
+= bigRadices[quotient];
}

}

outputCharacters 
+= CN_DOLLAR;
}

// Process decimal part if there is:
if (decimal != ""{
for (i = 0; i < decimal.length; i++{
= decimal.substr(i, 1);
if (d != "0"{
outputCharacters 
+= digits[Number(d)] + decimals[i];
}

}

}

// Confirm and return the final output string:
if (outputCharacters == ""{
outputCharacters 
= CN_ZERO + CN_DOLLAR;
}

if (decimal == ""{
outputCharacters 
+= CN_INTEGER;
}

outputCharacters 
= CN_SYMBOL + outputCharacters;
return outputCharacters;
}

</ script >
< p > 数字金额:  < input id = " Digits "  name = " Digits "   />   < input id = " Convert "  onclick = " Result.value = convertCurrency(Digits.value); "  type = " button "  name = " Convert "  value = " 转 换 "   />   </ p >
< p > 大写金额:  < input id = " Result "  size = " 60 "  name = " Result "   />   </ p >

 

下面是转成英文显示

 

public   string  GetEnglishNumber( decimal  ade_number)
        
{
            
string returnvalue=string.Empty;
            
if(ade_number<=0)    return returnvalue;
            
string[]  ls_eng_num1 = new string[19]"ONE""TWO""THREE""FOUR""FIVE","SIX""SEVEN""EIGHT""NINE""TEN""ELEVEN""TWELVE","THIRTEEN""FOURTEEN""FIFTEEN""SIXTEEN""SEVENTEEN","EIGHTEEN""NINETEEN" };
            
string[]  ls_eng_num2 = new string[8]"TWENTY""THIRTY""FORTY""FIFTY","SIXTY""SEVENTY""EIGHTY""NINETY"
 }
;
            
string[]  ls_eng_num3 = new string[4]"HUNDRED""THOUSAND""MILLION""BILLION" };
            
            
bool lb_isvalue = false;

            
decimal lde_num_t= (Math.Round(ade_number*100,0))%100;//小数点前两位的数字
            小数点前2位
            
十位/个位数
            ade_number 
= ade_number/100;
            
if(ade_number>0)
            
{
                
百位数
                
千位~十万
                
百万~十亿
                
百亿~十兆
            }

            
return returnvalue;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值