bu iksini bir arada kullanınca nedense çevirilen sayının sonuna bir sürü 0 ekleyip en sonuna rakamlar yazıyor. örnek vermek gerekirse;
var
a:singler;
b:string;
begin
b:='0,6';
a:=strtofloat(b); // a=0,6000000234 gibi dönüşüyor.
end;
single yerine double kullanınca bu problem olmuyor. nedenini çözemedim.
strtofloat ve single
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
Re: strtofloat ve single
mkysoft yazdı: var
a:singler;
b:string;
begin
b:='0,6';
a:=strtofloat(b); // a=0,6000000234 gibi dönüşüyor.
end;
single yerine double kullanınca bu problem olmuyor. nedenini çözemedim.
kodları [ color ] [ /color ] tag ları içinde değil de
Kod: Tümünü seç
Soruna gelince sanırım SINGLE tipini float a çevirirken bir hata oluşmakta. Bunun yerine REAL, DOUBLE veya EXTENDED kullanabilirsin
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
bende farklı türler kullanınca hatanın oluşmadığını fark ettim ama neden yapıyor?
benzer şelikde dynamic array olan iki değişkeni bir birine eşitleyerek kopyalarsanız bazen diğerinde yaptığınız değişiklik ötekinide etkiliyor ama bu her zaman olmuyor. kendimce bunu nedenin değerleri kopyalamak yerine poiter'ları birbirine eşitliyordur diye düşündüm. ama her zaman yapmıyor bunu. dynamic arrayları kopyalarken copy function ile kopyalamayı unutmayın.
örnek
rsimsek teşekkürler bende nasıl yapılıyor diye merak ediyordum. code'un ne olduğunu çözemedim bu nedenle color yapmıştım.
benzer şelikde dynamic array olan iki değişkeni bir birine eşitleyerek kopyalarsanız bazen diğerinde yaptığınız değişiklik ötekinide etkiliyor ama bu her zaman olmuyor. kendimce bunu nedenin değerleri kopyalamak yerine poiter'ları birbirine eşitliyordur diye düşündüm. ama her zaman yapmıyor bunu. dynamic arrayları kopyalarken copy function ile kopyalamayı unutmayın.
örnek
Kod: Tümünü seç
var
a: array of array of integer;
begin
setlength(a,2,3);
a[0,0]:=5;
a[0,1]:=2;
a[0,2]:=6;
a[1]:=a[0]; //bunu yapmayalım
a[1]:=copy(a[0],3); //doğrusu bu
end;