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

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • psidot

    psidot

    2 Kasım 2006