tip dönüşümü hakkında?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

tip dönüşümü hakkında?

Mesaj gönderen y.kulac »

s.a.
tip dönüşümü yaparak yeni türk lirasına göre hesaplama yapmak istiyorum.
kod şöyle:

Kod: Tümünü seç

dbedit3.Text:= floattostr(strtofloatdef(dbedit1.text,0)+strtofloatdef(dbedit2.text,0));
bu kod ile 999,99 dan küçük sayıları toplayabiliyurm. ama dbeditlerin textleri
1.000,00 ve bundan büyük olunca hata veriyor. verdiği hata mesajında sayının float olmadığını
söylüyor. 1.000,00 dan büyük sayıları nasıl toplayabilirim. currtostr de aynı hatayı veriyor.

2. sorum dbgrid ve quickreportdaki qrdbtext yeni türk lirasına uyumlu değil sanırım.
486,00 görünmesi gereken sayı 486 0,20 görünmesi gereken sayı ,2 görünüyor. yani sıfırları
göstermem gerekiyor. ne yapabilirim. bununla ilgili neler önerirsiniz.

dbedit te de aynı sorun vardı. Allah razı olsun huso kardeşimin husodbedit companenti sayesinde
sorunu hallettim.

iyi çalışmalar diler saygılar sunarım.
ertug
Üye
Mesajlar: 82
Kayıt: 10 Ara 2004 05:41

Mesaj gönderen ertug »

a.s.

Sorun YTL ile alakalı değil. 4. haneye geçtiğiniz anda sayı grup ayracı ile ayrılmış oluyor, örneğin 1.000,00 gibi. Bu yazılmış sayıyı gerçek sayıya çevirmek için grup ayracını kaldırmalısınız.

Kısacası: StrToFloat ('1.000') hata verirken, StrToFloat('1000') vermeyecektir.

Hatasız çeviri için:

Kod: Tümünü seç

  //aStr içerisine çevireceğiniz sayıyı atayın.
  aStr := StringReplace(aStr, ThousandSeparator, '', [rfReplaceAll]);
  aFloat := StrToFloat(aStr);
İkinci sorununuz ise gösterim biçimi (DisplayFormat) ilgili. Kullandığınız nesnenin "DisplayFormat"ını #,##0.00 a eşitleyin. Buradaki # sıfırları gizlemek için 0 ise sıfırları göstermek için kullanılır.

Ertuğ Kaya
Cevapla