Ondalık yanlışlık içinde .NET
Hata ayıklama sırasında dün garip bir şey oldu bana ve gerçekten açıklayamıyorum:
Belki de burada bariz görmüyorum ya da ondalıklar hakkında bir şey yanlış anlamışım .NET ama sonuçlar aynı olması gerekmez mi?
CEVAP
decimal
büyülübenim için matematik yapmakyazın. Hala kayan nokta sayısı - float
Ana fark olmasıdırondalıkkayan nokta sayı yerineikili. Kolayca bir ondalık olarak 0.3
temsil (sonlu ikili sayı olarak imkansız), ama sonsuz hassasiyet yok.
Bu çok daha yakın bir insan aynı hesaplamaları yapmak için iş yapar, ama yine de birileri, her işlemi yapıyor tek tek hayal etmeye çalış. Özellikle Matematikte yaptığın şey yapmadığın finansal hesaplamalar için tasarlanmıştır - sadece adım adım, her bir sonuç yuvarlama gitmek oldukça belirli kurallara göre.
Birçok durumda, aslında, decimal
çok kötü float
(veya daha iyisi, double
) daha yararlı olur. Bu decimal
herhangi bir otomatik yuvarlama oynayamıyor çünkü. double
ile aynı şeyi otomatik olarak farkın önemli olmadığını kabul decimal
çünkü beklendiği gibi 22 veriryok- decimal
hakkında önemli noktalarından biri. Elbette Math.Round
s ekleme manuel tarafından bu taklit edebilirsiniz, ama çok mantıklı değil.
JavaScript içinde en fazla 2 ondalık y...
Ondalık amacı nedir.Bir, Ondalık.Ondal...
Ondalık arasındaki fark, ve içinde Yüz...
Nasıl programlı olarak Android içinde ...
C nasıl bir int için bir ondalık dönüş...