SORU
25 AĞUSTOS 2015, Salı


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:

Decimal calculation

Decimal calculations with brackets

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
25 AĞUSTOS 2015, Salı


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.Rounds ekleme manuel tarafından bu taklit edebilirsiniz, ama çok mantıklı değil.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Machinima

    Machinima

    17 Ocak 2006
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009