金額轉成大寫

2021-05-25 04:31:17 字數 2755 閱讀 1732

//   數字轉換成大寫金額函式   

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;   istring3   =   parseint(numbervalue.substr(i,   1),10);       //   取出需轉換的某一位的值   

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;   

數字金額轉成大寫中文金額

數字金額轉成大寫中文金額 region 數字金額轉成大寫中文金額 傳入數字字元 如 12121212.232323 public string moneytochinese string strlowermoney switch itemp strupper strupart strupper it...

C 數字金額轉成大寫漢字

轉換數字金額主函式 包括小數 數字字串 轉換成中文大寫後的字串或者出錯資訊提示字串 public string convertsum string str 判斷是否是正數字字串 判斷字串 如果是數字,返回true,否則返回false public bool ispositvedecimal stri...

用ASP將小寫金額轉成大寫(函式)

asp function rmb num num formatnumber num,2 dim numlist dim rmblist dim numlen dim numchar dim numstr dim n dim n1,n2 dim hz numlist 零壹貳叄肆伍陸柒捌玖 rmblis...