SORU
8 Kasım 2008, CUMARTESİ


Dahili .Net-en yakın 10 Aralık değerini yuvarlamak için algoritma

Nasıl, C# 10 için herhangi bir değer aralığı yuvarlak? 11 Eğer, Eğer 136, Ben 10, geri dönmek istiyorum ben örneğin, 140 dönmek istiyorum.

Kolayca elle yapabilirim

return ((int)(number / 10)) * 10;

Ama yerleşik bir algoritma için bu iş, Matematik gibi bir şey yapmak için arıyorum.() Yuvarlak. Elle yapmak istemiyorum neden bir şey bile yukarıdaki kadar basit benim projeleri tüm kod veya buna benzer bir parça yazmak istemiyorum.

CEVAP
8 Kasım 2008, CUMARTESİ


Yerleşik bu sınıf kitaplığı işlevi yoktur. En yakın tür Ondalık ve Çift yuvarlama sayılar için olan System.Math.Round() en yakın tam sayı değeri. Ancak, eğer ile çalışıyorsanız ifadenizi uzantısı bir yöntem haline getiririz .Ağ işlevi çok daha temiz bir şekilde kullanmanızı sağlayacak olan 3.5,.

public static class ExtensionMethods
{
    public static int RoundOff (this int i)
    {
        return ((int)Math.Round(i / 10.0)) * 10;
    }
}

int roundedNumber = 236.RoundOff(); // returns 240
int roundedNumber2 = 11.RoundOff(); // returns 10

Eski bir sürümü karşı programlama .NET çerçeve, sadece kaldırmak "bu" RoundOff işlevi, işlev çağrısı gibi

int roundedNumber = ExtensionMethods.RoundOff(236); // returns 240
int roundedNumber2 = ExtensionMethods.RoundOff(11); // returns 10

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • dope2111

    dope2111

    29 HAZİRAN 2009
  • TechXCentral

    TechXCentral

    12 Temmuz 2011