Merhaba ;
yaptığım projede display format #,###.00 olarak ayarladım sql veritabanında decimal(18,2) bu alana kdv hesaplatmak istiyorum fakat fiyat 1000 tl üzerine çıktığı zaman ( '2.5503,55' is not a valid floating point value) şeklinde hata alıyorum projede.
Kodlar;
procedure Tfrmstok.DBEdit6KeyPress(Sender: TObject; var Key: Char);
var
f1:real;
kdv:real;
begin
f1:=StrToFloat(DBEdit6.Text);
if dbComboBox1.Text = '18' then kdv:=f1*1.18;
if dbComboBox1.Text = '8' then kdv:=f1*1.08;
if dbComboBox1.Text = '1' then kdv:=f1*1.01;
Label14.Caption:=FloatToStr(kdv);
Nerede hata yapıyorum acaba yardımcı olabilirmisiniz?
parasal işlemler
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Re: parasal işlemler
Sorununuz dil ayarları ile ilgili. Türkçe'de binlik ayracı . iken, ingilizcede ,.
Re: parasal işlemler
Bölgesel dil ayarlarını da değiştirerek denedim ama aynı sorun devam ediyor hocam
Re: parasal işlemler
Bu işlemi edit üzerinde değilde, TField üzerinde yapman daha mantıklı.
http://docs.embarcadero.com/products/ra ... hange.html
yada TField.OnValidate Event inde
Bir tavsiyemde, text leri koşul olarak kullanmamaya çalış, ve sayısal işlem için stringler üzerinden gitme.
http://docs.embarcadero.com/products/ra ... hange.html
yada TField.OnValidate Event inde
Bir tavsiyemde, text leri koşul olarak kullanmamaya çalış, ve sayısal işlem için stringler üzerinden gitme.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: parasal işlemler
Önce hesaplamayı yaptır sonra format yap veya veriyi veritabanından alarak işleme tabi tut.
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: parasal işlemler
DBCURRENCYEDIT kullanıp kodu f1:=DBEdit6.Value olarak değiştirirsen
ya da
f1:=StrToFloat(StringReplace( DBEdit6.Text, '.', '', [rfreplaceall] ); olarak değiştirirsen sorun yaşamazsın...
Tedbir amacıyla StrToFloat yerine StrToFloatDef fonksiyonunu kullanabilirsin....
Nacizane tavsiyem BÜYÜK SÖZÜ dinleyip @freeman35 üstadımın da dediği gibi Parasal işlemleri String değerler üzerinden çözmeye çalışma!!!
CurrencyEdit ler kullan...
ya da
f1:=StrToFloat(StringReplace( DBEdit6.Text, '.', '', [rfreplaceall] ); olarak değiştirirsen sorun yaşamazsın...
Tedbir amacıyla StrToFloat yerine StrToFloatDef fonksiyonunu kullanabilirsin....
Nacizane tavsiyem BÜYÜK SÖZÜ dinleyip @freeman35 üstadımın da dediği gibi Parasal işlemleri String değerler üzerinden çözmeye çalışma!!!
CurrencyEdit ler kullan...