Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Küçük ondalıklı sayıların kontrolü
#1
Merhabalar,

Çok küçük ondalıklı sayılar ile bir sorunum var.

Sorun PathData FireMonkey bileşeniyle oluşturulan veri sorun yaratıyor. Sorun çok küçük ondalıklı sayının string alana kaydedilirken -3.88596527045593E-6 şeklinde kaydedilmesi ve okunurken -3.88596527045593e-6 şeklinde okunmaya çalışılması. Neticede E harfi büyük olduğundan "is not a valid floating point value" hatası kaçınılmaz oluyor. Kaydederken E harfini büyük yazan kendisi okurken küçük harf isteyen kendisi.

 Şu an düşündüğüm veriyi alıp tüm büyük E leri küçük e lere dönüştürüp tekrar kaydetmek gibi gereksiz külfetli bir iş.

 Bu sorunu temelden aşabileceğim bir öneriniz var mı? Sayıları dönüştürürken E harifini kullanmamasını sağlayabileceğim bir Delphi deryeyici direktifi var mı?

(Not : Verileri oluşturan ve okuyan bileşenin kendisi olduğundan bu kısıma müdahale edemiyorum. Standart bir bileşene müdahale etmekte istemiyorum.)

Büyük E leri küçük e yapmak bir şey ifade etmiyor. Sonradan değer tekrar büyük E ye dönüşüyor.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#2
Merhaba,
FormatFloat ve FloatToStrF  fonksiyonları ile (e) içeren sayısal değerleri, sayı formatına dönüştürebilirsiniz.
String bir değeri, float bir değere dönüştürürken de TFormatSettings tipini set ederek dönüşüm sağlayabilirsiniz.

dmxuls.jpg
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Bu tür dönüşümler tarafımdan yapılmış olsa dahi tüm veriler yorumlanıp 0.00001 gibi daha küçük değer yine otomatik olarak 9.99999974737875E-5 gibi değerlere dönüşüyor.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Küçük bir Sorun Paranoyaq 1 242 06-07-2017, Saat: 13:31
Son Yorum: Abdullah ILGAZ
  Mobil platformlarda (Android, iOS) internet bağlantısı kontrolü yapmak Fesih ARSLAN 8 1.813 06-07-2017, Saat: 13:22
Son Yorum: Abdullah ILGAZ
  Para kontrolü dilo 1 301 25-05-2017, Saat: 09:07
Son Yorum: esistem



Konuyu Okuyanlar: 1 Ziyaretçi