
Convert string
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Convert string
Merhabalar arkadaşlar ibsql ile toplama işlemi yaptırdığım bir alanım var bu alana ise daha önceden başka bir yerde toplanıp eklenen formatı şu şekilde olan bilgilerim var (0,00) fakat ibsql bilgi formatı (0.00) şeklindeyken toplama yapmakta benim diğer tarafta yaptığım işlemde ise double değişken olduğu için 0.00 olan formatı kabul etmemekte yani kısaca ibsql format küsüratı olarak '.' benim toplama yaptığım alan ise double olduğu için ',' istemekte bu durumu nasıl düzeltirim?Bu şekilde işlem yaptığım zaman ibsql toplama işlemini yapmıyor ve şöyle bir dönüşüm hatası veriyor: "Conversion error from string "5,5""..Şu an gece saat 2 ve 1 günüm buna harcanmış durumda
yardımlarınızı bekliyorum.

UWESIS CORPORATION
Re: Convert string
toplama yaptığım kod @Emin_as ın verdiği kod:
Kod: Tümünü seç
var tablosayi:double;
begin
if IBSQL1.Transaction.Active=False then
ibsql1.Transaction.StartTransaction; // ibsql1 e baglı transaction çalıştırılmalıdır.
ibsql1.SQL.Text:='select sum (FIELD4) from EXAMPLE_TABLE'; // sql bilgisi verilir
ibsql1.ExecQuery; // sql sorgu çalıştırılı için bunu kullanmalısın
if ibsql1.RecordCount > 0 then
tablosayi:=ibsql1.Fields[0].AsDouble // bilgileri fields ile alabilirsin
else tablosayi:=0;
label1.Caption:=FormatFloat('#,##0.000',tablosayi);
ibsql1.Close; // işlem bittikten sonra ibsql kapatılmalıdır
UWESIS CORPORATION
Re: Convert string
Tam anlamadım ama delphi ondalık ayıracı için kullandığı değişkeni decimalSeparator de tutar. Bu bilgi bölgesel ayarlardan gelir.
Eğer bölgesel ayarlara dokunmayayım sadece hesap kısmında ayıracı degiştireyim dersen:
Eğer bölgesel ayarlara dokunmayayım sadece hesap kısmında ayıracı degiştireyim dersen:
Kod: Tümünü seç
var
tempch : char;
....
tempch:=decimalseparator;
try
decimalseparator:=';' // ondalık ayıracını noktalı virgul yap dedim
hesaplarıyap;
.....
finally
decimalsepartor:=tempch; // eski ayıraca döndük
end;
end;
Re: Convert string
@Emin_as Hocam şöyle anlatayım, müşterilerim var ve bu müşterilere stoktan yapılan satışlar mevcut.Stokta ürünler 2,50 tl gibi bir formata sahip saklanmakta ve satış anında bir double değişken ile bunların miktarı hesaplatılmakta.Double alan 2.50 formatında hata veriyordu.
Bu toplama yaptırdığım alanda hesaplama işleminden önce
kullanınca sorun çözüldü sanırım şimdilik problem yok teşekkürler.
Bu toplama yaptırdığım alanda hesaplama işleminden önce
Kod: Tümünü seç
decimalseparator:='.'
UWESIS CORPORATION
Re: Convert string
decimalseparator:='.'; kodu ana formun oncreate olayına yazmak daha mantıklı olur...Açılışta bir defa tanımlama yeterlidir.
Re: Convert string
öyle yaptım şu anda sorunsuz çalışmakta yardımları geçen arkadaşlara teşekkürler
UWESIS CORPORATION