Konu: table da float ?
selamlar;
Table oluşturuken type da float diye bir seçenek var.
Bunun numeric den farkı nedir? nerelerde kullanılır?
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
selamlar;
Table oluşturuken type da float diye bir seçenek var.
Bunun numeric den farkı nedir? nerelerde kullanılır?
Eger numeric kullanman gerkiyorsa onu kullan. Normalde ne numeric ne de float'in kullanimi kalmadi bence (fox2xte yeri vardi).
Numeric yerine kullanmanin nedeni (eger duzeltilmediyse) buyuk rakamlarda anlasilmaz bir sekilde yuvarlama yapiyordu numeric.
Eger numeric kullanman gerkiyorsa onu kullan. Normalde ne numeric ne de float'in kullanimi kalmadi bence (fox2xte yeri vardi).
Numeric yerine kullanmanin nedeni (eger duzeltilmediyse) buyuk rakamlarda anlasilmaz bir sekilde yuvarlama yapiyordu numeric.
foxpro dos bazı rakamlarda göçüyor bile. hiç hata vermeden dos a düşüyor. roundla çözüyorum o problemi. bunu bazen yapıyor. neden yaptığını da anlamadım. 2 kuruş hanesi olan rakamı hiç gerekmediği halde round ile 2 kuruş yuvarlıyorum... ![]()
Eger numeric kullanman gerkiyorsa onu kullan. Normalde ne numeric ne de float'in kullanimi kalmadi bence (fox2xte yeri vardi).
Numeric yerine kullanmanin nedeni (eger duzeltilmediyse) buyuk rakamlarda anlasilmaz bir sekilde yuvarlama yapiyordu numeric.
foxpro dos bazı rakamlarda göçüyor bile. hiç hata vermeden dos a düşüyor. roundla çözüyorum o problemi. bunu bazen yapıyor. neden yaptığını da anlamadım. 2 kuruş hanesi olan rakamı hiç gerekmediği halde round ile 2 kuruş yuvarlıyorum... ![]()
sql data da float mı? decimal mi?
Ne önerirsiniz?
" Normalde ne numeric ne de float'in kullanimi kalmadi bence " yazmışsın Çetin Hocam.
Peki o halde şunu sorucam..... Nümerik yerine ne kullanmalıyız.?
(Tavsiyen üzere kesinlikle general kullanmıyoruz. Nümeriktemi kullanmıycaz)
Double, currency
Bir ara VFP Öğreniyorum başlağı altında bir şeyler yazmaya çalışmıştım. O yazının veritabanına başlarken atlı yazımı kısmet olup bir türlü bitiremedim ama o yazımda double ile ilgili kısmı burada yayınlayayım.
B, Double
Matematiksel işlemlerde özellikle dijitten kaynaklanan sorunlardan kurtulmak ve daha doğru sonuçlar elde etmek için bu saha tipini kullanabilirsiniz. Bu cümle biraz kapalı oldu. Bu durumu bir örnek ile açıklamaya çalışalım. Bir işlem sonucunda 22 rakamını 7'ye bölmeniz ve çıkan sonucu tabloda saklamanız gerekmektedir. Bu sonucu ise bir başka zaman kullanmamız gerektiği bir durumu düşünelim.
22/7 = 3,1428571428571428571428571428571 kendini tekrarlayan bir dijite sahip bir sayı olur. Bundan sonraki kısımları ise bir gerçek örnek ile yapalım.
1 | Create Cursor curDeneme (nSonuc1 B(2), nSonuc2 N(6,2)) |
Hassas işlemlere çok nadir ihtiyaç duyuyorum. Ancak yinede Double saha tipini sıkça kullanıyorum. Toplam boyu 8'i geçen tüm sayısal tipler için double tipini tercih ediyorum. Çünkü tabloda N(12,2) saha tipi 12 byte yer tutarken B(2) 8 byte yer tutmaktadır. neresinden baksanız her kayıt için 4 byte kar etmiş oluyorum. Bu yüzden N(8,2) üzeri tipler için B(2) tercih ediyorum. Bu sahayı kullanırken de hassasiyete ihtiyacım yoksa Round fonksiyonunu kullanıyorum. Yukarıdaki örnek için ;
1 | Insert Into curDeneme Values (Round(22 / 7, 2), 22 / 7) |
Ben de birkac teknik detay ekleyeyim. Numerik, float tiplerinde data disk uzerinde oldugu gibi tutuluyor (yani okundugu gibi, sanki karaktermis gibi). Integer,double,currency tiplerinde ise bu sayilarin 4-8 byte olarak hexadecimal sekilleri tutuluyor. Hexadecimal olarak fraksiyonel sayilarin tam bir kesinlikle tutulmasi mumkun degil ve bu VFP'nin degil tum decimal sayilarin problemi (IEEE floating point numbers). Tarkan'in dedigi gibi sayiyi 3.14 gibi gorseniz de aslinda 3.1415... diye gidiyor. Burada sasirmamaniz gereken 3 diye gordugunuz sayinin aslinda 2.9999999... olabilecegi. Bu tip roundation problemlerine karsi ya siz elle birseyler yapacaksiniz (round ntom() gibi) ya da currency kullanabilirsiniz. Currency'de decimal kisim 4 haneye yuvarlanir.
İyi günler
Ben hastanede foxpro ile oluşturulmuş bir program kullanıyorum
kullanırken
sıvı hacmini ölçüyoroz
hücre sayısını ölçüyoruz
toplam hücre yi belirlemek için sıvı hacmini hücre sayısı ile çarpmam gerekli
fakat bunu programda yapamıyorum
kısaca basit matemetiksel işlem nasıl yapılır
teşekürler
Baya * ile. Ornegin:
1 | hacim = 100 |
Tabii senin sormak istediginin bu oldugunu sanmiyorum. Biraz detay verseydin, ornek veri, nerede nasil yapmak istiyorsun filan belki o zaman ise yarar bir yol bulurduk.
Not: Hastanede derken, hangi hastane ve gorevin ne? Ben de doktor oldugumdan merak ettim.