SORU
1 AĞUSTOS 2008, Cuma


Matematik arasındaki fark.() Döşeme ve Matematik.()Kesecek

Math.Floor() Math.Truncate() arasındaki fark nedir .NET?

CEVAP
24 ŞUBAT 2009, Salı


Bu web açıklamaları için: bu bağlantıları izleyin

  • Aşağı eksi sonsuza doğru yuvarlar, Math.Floor,.
  • Olumlu doğru yuvarlar, Math.Ceiling sonsuzluk.
  • Yukarı veya aşağı doğru sıfır turu Math.Truncate,.
  • Math.Round, en yakın tamsayı veya ondalık basamak sayısı belirtilen hangi mermi. Belirtebilirsiniz davranış eğer tam olarak eşit uzaklıkta arasında iki olasılık gibi yuvarlama son basamak bile ("Round(2.5,MidpointRounding.ToEven)" olma 2) ya öyle çok uzaklara sıfır ("Round(2.5,MidpointRounding.AwayFromZero)" olma 3).

Aşağıdaki Diyagram ve tablo yardımcı olabilir:

-3        -2        -1         0         1         2         3
  --|------ --------- ----|---- --|------ ----|---- -------|- 
    a                     b       c           d            e

                       a=-2.7  b=-0.5  c=0.3  d=1.5  e=2.8
                       ======  ======  =====  =====  =====
Floor                    -3      -1      0      1      2
Ceiling                  -2       0      1      2      3
Truncate                 -2       0      0      1      2
Round (ToEven)           -3       0      0      2      3
Round (AwayFromZero)     -3      -1      0      2      3

Round sadece ondalık belirli sayıda yuvarlak çünkü göründüğünden çok daha güçlü olduğunu unutmayın. Diğerleri ondalık hep sıfır yuvarlak. Örneğin:

n = 3.145;
a = System.Math.Round (n, 2, MidpointRounding.ToEven);       // 3.14
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.15

Diğer fonksiyonları ile,/bölme çarpma hile kullanmak aynı etkiyi elde etmek için:

c = System.Math.Truncate (n * 100) / 100;                    // 3.14
d = System.Math.Ceiling (n * 100) / 100;                     // 3.15

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Modus Recordings

    Modus Record

    26 Kasım 2008