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 --- In ITCENTER@yahoogroups.com, "Dhany Seskoadi W" <[EMAIL PROTECTED]> wrote: > > 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/