pb 大寫人民幣

2021-09-28 11:34:03 字數 2595 閱讀 3003

global type gf_money from function_object

end type

forward prototypes

global function string gf_money (decimal data)

end prototypes

global function string gf_money (decimal data);constant string ls_bit = "萬仟佰拾億仟佰拾萬仟佰拾元角分"

constant string ls_num = "壹貳叄肆伍陸柒捌玖"

long lmax = len( ls_bit ) + 1

string ls_je, ls_dw, ls_result = ''

long ll_len, i, k

ls_je = string( data, "#############.00" )

ll_len = len( ls_je ) - 1

ls_je = replace( ls_je, ll_len - 1, 1, '' )

for i = ll_len to 1 step -1

lmax -= 2

ls_dw = mid( ls_bit, lmax, 2 )

k = long( mid( ls_je, i, 1 ) )

if k = 0 then

choose case ls_dw

case '元','萬','億'

ls_result = ls_dw + ls_result

case '分'

ls_result = '整'

case '角'

if ls_result <> '整' then ls_result = '零' + ls_result

case else

choose case left( ls_result, 2 )

case '萬', '億', '元', '零'

case else

ls_result = '零' + ls_result

end choose

end choose

else

ls_result = mid( ls_num, k * 2 - 1, 2 ) + ls_dw + ls_result

end if

next

return ls_result

end function

global type gf_money2 from function_object

end type

forward prototypes

global function string gf_money2 (decimal data, string lx)

end prototypes

global function string gf_money2 (decimal data, string lx);//

//// 將錢數轉化為大寫

////

constant string ls_bit = "萬仟佰拾億仟佰拾萬仟佰拾元角分"

constant string ls_num = "壹貳叄肆伍陸柒捌玖"

long lmax = len( ls_bit ) + 1

string ls_je, ls_dw, ls_result = ''

long ll_len, i, k

ls_je = string( data, "#############.00" )

ll_len = len( ls_je ) - 1

ls_je = replace( ls_je, ll_len - 1, 1, '' )

for i = ll_len to 1 step -1

lmax -= 2

ls_dw = mid( ls_bit, lmax, 2 )

k = long( mid( ls_je, i, 1 ) )

if k = 0 then

choose case ls_dw

case '元','萬','億'

ls_result = ls_dw + ls_result

case '分'

ls_result = '整'

case '角'

if ls_result <> '整' then ls_result = '零' + ls_result

case else

choose case left( ls_result, 2 )

case '萬', '億', '元', '零'

case else

ls_result = '零' + ls_result

end choose

end choose

else

ls_result = mid( ls_num, k * 2 - 1, 2 )

end if

if lx=ls_dw then

return ls_result

end if

next

return "error"

end function

人民幣金額大寫

q 在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是 從鍵盤輸入乙個十億以內的正整數 int型別 把它轉換為人民幣金額大寫 不考慮使用者輸入錯誤的情況 比如,使用者輸入 35201,程式輸出 叄萬伍仟貳佰零壹 使用者輸入 30201,程式輸出 叄萬零貳佰零壹 使用者...

人民幣大寫轉換

人民幣大寫轉換 param numbervalue 人民幣小寫 return rmbcapital function numbervalue var chinesevalue 轉換後的漢字金額 var string1 零壹貳叄肆伍陸柒捌玖 漢字數字 var string2 萬仟佰拾億仟佰拾萬仟佰拾元...

人民幣轉大寫

function changermb const strrmb string string vartxt,strhighlevel string i,n,m,ilen,ipos integer n記錄整數部分長度,m記錄分數部分長度 strarray,strlevel array of string...