FUNCTION mablaghchek
PARAMETER fi_chek_x
fi_rial_x = fi_chek_x
fi_tooman_x = fi_chek_x/10
rial_x = ROUND((fi_tooman_x - INT(fi_tooman_x)) * 10,0)
DO case
CASE rial_x = 0
RETURN numtochr(fi_rial_x ) + ' ر يال معادل ' + numtochr(fi_tooman_x ) + ' تومان '
CASE rial_x > 0
RETURN numtochr(fi_rial_x ) + ' ر يال معادل ' + numtochr(fi_tooman_x )+ ' تومان و ' + numtochr(rial_x )+ ' ريال '
ENDCASE
FUNCTION NUMTOCHR
PARAMETER Num
***
PUBLIC ArrayDigit (36)
ArrayDigit (01) = " يك "
ArrayDigit (02) = " دو "
ArrayDigit (03) = " سه "
ArrayDigit (04) = " چهار "
ArrayDigit (05) = " پنج "
ArrayDigit (06) = " شش "
ArrayDigit (07) = " هفت "
ArrayDigit (08) = " هشت "
ArrayDigit (09) = " نه "
ArrayDigit (10) = " ده "
ArrayDigit (11) = " يازده "
ArrayDigit (12) = " دوازده "
ArrayDigit (13) = " سيزده "
ArrayDigit (14) = " چهارده "
ArrayDigit (15) = " پانزده "
ArrayDigit (16) = " شانزده "
ArrayDigit (17) = " هفده "
ArrayDigit (18) = " هيجده "
ArrayDigit (19) = " نوزده "
ArrayDigit (20) = " بيست "
ArrayDigit (21) = " سي "
ArrayDigit (22) = " چهل "
ArrayDigit (23) = " پنجاه "
ArrayDigit (24) = " شصت "
ArrayDigit (25) = " هفتاد "
ArrayDigit (26) = " هشتاد "
ArrayDigit (27) = " نود "
ArrayDigit (28) = " صد "
ArrayDigit (29) = " دويست "
ArrayDigit (30) = " سيصد "
ArrayDigit (31) = " چهارصد "
ArrayDigit (32) = " پانصد "
ArrayDigit (33) = " ششصد "
ArrayDigit (34) = " هفتصد "
ArrayDigit (35) = " هشتصد "
ArrayDigit (36) = " نهصد "
DO CASE
CASE Num >= 1000000000000000
RETURN NumToChr (Num / 1000000000000000) + "تريليارد " + IIF (Num % 1000000000000000 < 1, '', "و") + NumToChr (Num % 1000000000000000)
CASE Num >= 1000000000000
RETURN NumToChr (Num / 1000000000000) + "تريليون " + IIF (Num % 1000000000000 < 1, '', "و") + NumToChr (Num % 1000000000000)
CASE Num >= 1000000000
RETURN NumToChr (Num / 1000000000) + "ميليارد " + IIF (Num % 1000000000 < 1, '', "و") + NumToChr (Num % 1000000000)
CASE Num >= 1000000
RETURN NumToChr (Num / 1000000) + "ميليون " + IIF (Num % 1000000 < 1, '', "و") + NumToChr (Num % 1000000)
CASE Num >= 1000
RETURN NumToChr (Num / 1000) + "هزار " + IIF (Num % 1000 < 1, '', "و") + NumToChr (Num % 1000)
CASE Num >= 100
RETURN ArrayDigit (27 + Num / 100) + IIF(Num % 100 < 1, '', "و") + NumToChr (Num % 100)
CASE Num >= 20
RETURN ArrayDigit (18 + Num / 10) + IIF (Num % 10 < 1, '', "و") + NumToChr (Num % 10)
CASE Num >= 1
RETURN ArrayDigit (Num)
ENDCASE
RETURN ''