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/

Kirim email ke