BTemplates.com

Diberdayakan oleh Blogger.

Pages

Pages - Menu

Popular Posts

Sabtu, 01 September 2007

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