Menampilkan Angka Dalam Format Rupiah dengan Visual Foxpro
&& FUNCTION IdCur
&& PARAMETERS _Num,_Len,_Des
&& Fungsi untuk menampilkan angka dalam mata uang rupiah
&& _num adalah angka yang akan ditampilkan
&& _Len adalah panjang tampilan yang diinginkan
&& _Des adalah logika penampilan desimal, defaul False
&& Nilai return : String
&& Contoh :
&& ? IdCur(15000,11)
&& ? IdCur(15000,9,.t.) ==> 15.000,00
&& ? IdCur(15000,9,.f.) ==> 15.000
&& ? IdCur(15000,9) ==> 15.000
&& ? IdCur(15000,5) ==> **.***
&& Hasil 15.000,00 sepanjang 11 karakter
FUNCTION IdCur
PARAMETERS _Num,_Len,_Des
IF VARTYPE(_Num)<>"N"
_Num=0
ENDIF
IF VARTYPE(_Des)<>"L"
_Des=.F.
ENDIF
_String=ALLTRIM(TRANSFORM(_Num,"999,999,999,999,999,999.99"))
_String1=LEFT(_String,AT(".",_String)-1)
_String2=substr(_String,AT(".",_String)+1)
IF AT(",",_String1)<=0
_String1=_String1
ELSE
_String1=STRTRAN(_String1,",",".")
ENDIF
_String=IIF(_Des,_String1+","+_String2,_String1)
IF VARTYPE(_Len)<>"N"
_Len=LEN(_String)
ENDIF
IF _Len>=26
_Len=26
ENDIF
IF _Len<LEN(_String)
_String0=""
FOR xkei=1 TO LEN(_String)
IF SUBSTR(_String,xkei,1)="," .OR. SUBSTR(_String,xkei,1)="."
_String0=_String0+SUBSTR(_String,xkei,1)
ELSE
_String0=_String0+"*"
ENDIF
NEXT
_String=_String0
ELSE
_String=PADL(_String,_len,CHR(32))
ENDIF
RETURN _String
0 komentar:
Posting Komentar