Halo Dhany, Moga2 saya bisa ngerti maksudmu:
Jika menggunakan pendekatan coding cara kamu akan menjadi: procedure BitBtn1Click; var LocFloat: FormatSettings; AFloatString: String; begin GetLocaleFormatSettings(, LocFloat); LocFloat.DecimalSeparator := '.' // atau pendekatan saya untuk mengubah global setting Indonesia // SetThreadLocale($21) // SysUtils.GetFormatSettings; // untuk mengembalikannya ke English // SetThreadLocale($409) atau SetThreadLocale(DefaultLCID); // SysUtils.GetFormatSettings; .. kode lain AfloatString := FloatToStrF(spinUangMuka.Value, ffGeneral, 3, 2, LocFloat); Query.SQL.Add( Format('UPDATE tc_setting SET float_field = "%s"',[AfloatStr]) ); Query.SQL.Add('WHERE.. bla bla..'); Nah masalah kamu: "kenapa nilainya dibulatkan?" karena formatting digit kamu sptnya yang bermasalah, harusnya: AfloatString := FloatToStrF(spinUangMuka.Value, ffGeneral, X, 2, LocFloat); // angka X harus disesuaikan dgn digitmu kalau kamu tulis 3,2 artinya digit displaynya tidak cukup untuk nilai 24,35 atau 24,31 jadi ubah menjadi misalnya 7, jadi: AfloatString := FloatToStrF(spinUangMuka.Value, ffGeneral, 7, 2, LocFloat); Moga2 membantu, Timotiez -----Original Message----- From: ITCENTER@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Dhany Seskoadi W Sent: Thursday, November 27, 2008 4:03 PM To: itcenter Subject: [ITCENTER] Tanya Coding Delphi Mau tanya dong sama jagonya Delphi Tentang pemakaian fungsi GetLocaleFormatSetting(LCID: integer;var FormatSetting: TFormatSettings) dan FloatToStrF() saya pakai komponent dari Raize Component yang TrzSpinEdit (untuk nilai numerik) yang di set value IntegerOnly = False; Sehingga bisa memasukkan nilai decimal ke dalam sebuah tabel MySQL dengan sebuat field bertype float ... karena MySQL menerima nilai format desimal dengan tanda 'titik' Yang saya tanyakan 1. Nilai Apa yang harus saya masukkan untuk LCID nya (saat ini saya memakai nilai asal {3} untuk nilai LCID nya yang penting ga error hehehe ... )? 2. Bagaimana cara mendeteksi nilai decimal tersebut memakai Local Setting karena ada perbedaan titik dan koma pada nilai decimal pada komputer jika memakai setting region berbeda... Berikut coding yang saya terapkan Procedure bitbtnclick Var LocFloat: TFormatSettings; begin GetLocaleFormatSettings(3,LocFloat); LocFloat.DecimalSeparator:= '.'; // untuk masukkan nilai decimal ke field mySQL dengan type float .....[kode lain] Query1.SQL.Add('UPDATE tc_setting SET float_field="'+FloatToStrF(spinUangMuka.Value,ffGeneral,3,2,LocFloat)+'" WHERE blblabla'); .... [kode lain] end; Niat saya memasukkan nilai 2 digit di belakang koma pada MySQL Pada form inputan (spinedit) tercantum misal 24,35 (dengan tanda koma) Setelah dimasukkan ke dalam mysql memang tanda koma berubah menjadi titik (walaupun nilai LCID nya asal ;) ) Tetapi mengapa nilai nya jadi dibulatkan yah ??? Misal 24,35 menjadi 24,40 atau 24,31 menjadi 24,30 Mohon solusi atau dibenerin koding nya .... Stuck berat nih setelah bolak balik mencoba dan baca baca help ... Terima Kasih buat bantuannya ... [Non-text portions of this message have been removed] ------------------------------------ -- www.itcenter.or.id - Komunitas Teknologi Informasi Indonesia Gabung, Keluar, Mode Kirim : [EMAIL PROTECTED] Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/ITCENTER/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/ITCENTER/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/