Home » Delphi, Tips & Tricks » Format Angka Finansial

Format Angka Finansial

Print Friendly



Beberapa waktu lalau ada yang nyasar ke blog ini dengan sebuah pertanyaan: “listing delphi untuk angka dibelakang koma….”

Nah, saya tulis saja :)

Untuk memformat angka pecahan, terutama dalam aplikasi akuntansi, kita dapat menggunakan fungsi format float:

FormatFloat(const AFormat:String; const AValue: Extended): String;

Di mana,

 AFormat = 'FORMAT_ANGKA_POSITIF;FORMAT_ANGKA_NEGATIF;FORMAT_0';
 

Saya telah membuat potongan kode untuk mempermudah:

function FinaceFloat(const AValue: Double): String;
var
simpan: array[1..2] of char;
begin
simpan[1]:=ThousandSeparator;
simpan[2]:=DecimalSeparator;
ThousandSeparator:='.';
DecimalSeparator:=',';
Result:=FormatFloat('#,#0.00   ;(#,#0.00)  ;-    ', AValue);
 ThousandSeparator:=simpan[1];
DecimalSeparator:=simpan[2];
end;
 

Berikut contoh penggunaanya:

Edit2.Text:=FinaceFloat(StrToFloat(Edit1.Text));
Edit4.Text:=FinaceFloat(StrToFloat(Edit3.Text));
Edit6.Text:=FinaceFloat(StrToFloat(Edit5.Text));

Hasilnya:

Format Angka Finansial


Incoming search terms:

 

Comments

comments

Powered by Facebook Comments

10 Responses to Format Angka Finansial

  1. mas,, kalo nilai yang sudah diformat itu dimasukkan ke dalam database masalah gak..
    misal nilai (2.674,00) dimasukkan ke fields bertipe number…..

       New Post

    • Untuk menyimpan pecahan, gunakan saja field yang sesuai. Misalnya di MySQL, gunakan field bertipe Float atau Real.
      Di MySQL dan database pada umumnya, pemisah ribuan adalah “koma” sedang pemisah desimal adalah “titik”. Angka hasil format di atas mengikuti konvensi Indonesia, jadi tidak sesuai dengan field-field yang ada di database.
      Solusinya, angka aslinya yang sebelum diformat yang disimpan dalam database.

      ATau kalau mau sedikti repot, bisa coba cara ini:

      procedure TForm1.Button1Click(Sender: TObject);
      var
        AngkaTerformat: String;
        Ubah:String;
        f: Double;
      begin
        Ubah:='';
        //contoh angka hasil format yang akan
        //disimpan dalam database
        //(field bertipe float/real/decimal/currency)
        AngkaTerformat:='(2.674,00)';
        //Cek Angka negatif dengan memeriksa tanda kurung...
        if Pos('(', AngkaTerformat) > 0 then
        begin
          Ubah:='-';
          //Buang tanda kurung depan
          Delete(AngkaTerformat,1,1);
          //Buang tanda kurung belakang
          Delete(AngkaTerformat,length(AngkaTerformat),1);
        end;
        //Buang pemisah ribuan
        AngkaTerformat:=StringReplace(AngkaTerformat, '.','',[]);
        //ganti pemisah desimal dari "koma" ke "titik"
        AngkaTerformat:=StringReplace(AngkaTerformat, ',','.',[]);
        //gabungkan tanda minus "-" (jika ada) ke angka sebenarnya
        Ubah:=Ubah+ AngkaTerformat;
        //hasil akhir sudah valid
        f:=StrToFloat(Ubah);
      end;
      

         New Post

  2. Mas sy mo nanya soal Windows neh (Windows XP Sp3)

    Sy Mo install ulang D2007, tapi gagal terus pertama masalah “invalid serial number”
    tapi itu ahamdulillah solved.
    tapi tetap sj gagal, dengan pesan error sbb:
    RAD Studio installation failed: “The Windows Installer Service could not accessed. this occur if you are running Windows in safe mode, or if Windows Installer is not correctly installed. Contact your support personnel for assistance”. Please check your settings and try again.

    gitu mas mohon bantuan solusinya, sy tidak terlalu paham dengan Windows.

       New Post

  3. begitu juga pada saat install Google scetchup

       New Post

  4. mas mau nanya neh saya masih nubie, klo mau ngambil data int yang disimpan dalam label misal label1 dari form lain ke dalam form utama gmn y mas ?, trus pas dah diambil data int ntu mau ditaruh di label juga misal label2 codingnya pa y mas? thx…….

       New Post

  5. Mas sy Mo nanya klo bikin report untuk D2010 pake apa ya?
    Klo ada sama linknya
    thanks

       New Post

    • Saya sarankan FastReport.
      Fitur utamanya adalah Pascal Scripting sehingga kita dapat membuat fungsi-fungsi dalam report tanpa harus membuatnya di Delphi.

      Silahkan di cek http://www.fast-report.com/en/

      Di bagian download juga tersedia link untuk FreeReport yang gratis dipakai.

         New Post

  6. Thanks script nya yah mas bro. Sangat berguna bagi saya.

       New Post

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>