İngilizce dilinde oku

Aracılığıyla paylaş


Decimal.Round Yöntem

Tanım

Değeri en yakın tamsayıya veya belirtilen ondalık basamak sayısına yuvarlar.

Aşırı Yüklemeler

Round(Decimal, Int32, MidpointRounding)

Belirtilen yuvarlama stratejisini kullanarak ondalık değeri belirtilen duyarlık düzeyine yuvarlar.

Round(Decimal, MidpointRounding)

Belirtilen yuvarlama stratejisini kullanarak ondalık değeri tamsayıya yuvarlar.

Round(Decimal)

Ondalık değeri en yakın tamsayıya yuvarlar.

Round(Decimal, Int32)

Değeri Decimal belirtilen ondalık basamak sayısına yuvarlar.

Round(Decimal, Int32, MidpointRounding)

Kaynak:
Decimal.cs
Kaynak:
Decimal.cs
Kaynak:
Decimal.cs

Belirtilen yuvarlama stratejisini kullanarak ondalık değeri belirtilen duyarlık düzeyine yuvarlar.

C#
public static decimal Round (decimal d, int decimals, MidpointRounding mode);

Parametreler

d
Decimal

Yuvarlanacak ondalık bir sayı.

decimals
Int32

Dönüş değerindeki önemli ondalık basamakların (duyarlık) sayısı.

mode
MidpointRounding

Hangi yuvarlama stratejisinin kullanılacağını belirten numaralandırma değerlerinden biri.

Döndürülenler

Yuvarlama stratejisi kullanılarak mode ve duyarlığıyla öğesine yuvarlanan sayıdır.ddecimals duyarlığı değerinden ddecimalsd küçükse, değişmeden döndürülür.

Uygulamalar

Özel durumlar

decimals 0'dan küçük veya 28'den büyük.

mode bir MidpointRounding değer değildir.

Sonuç bir nesne aralığının Decimal dışındadır.

Örnekler

Aşağıdaki örnekte, yönteminin Round(Decimal, Int32, MidpointRounding) sabit listesiyle MidpointRounding nasıl kullanılacağı gösterilmektedir.

C#
decimal result;

// Round a positive value using different strategies.
// The precision of the result is 1 decimal place.

result = Math.Round(3.45m, 1, MidpointRounding.ToEven);
Console.WriteLine($"{result} = Math.Round({3.45m}, 1, MidpointRounding.ToEven)");
result = Math.Round(3.45m, 1, MidpointRounding.AwayFromZero);
Console.WriteLine($"{result} = Math.Round({3.45m}, 1, MidpointRounding.AwayFromZero)");
result = Math.Round(3.47m, 1, MidpointRounding.ToZero);
Console.WriteLine($"{result} = Math.Round({3.47m}, 1, MidpointRounding.ToZero)\n");

// Round a negative value using different strategies.
// The precision of the result is 1 decimal place.

result = Math.Round(-3.45m, 1, MidpointRounding.ToEven);
Console.WriteLine($"{result} = Math.Round({-3.45m}, 1, MidpointRounding.ToEven)");
result = Math.Round(-3.45m, 1, MidpointRounding.AwayFromZero);
Console.WriteLine($"{result} = Math.Round({-3.45m}, 1, MidpointRounding.AwayFromZero)");
result = Math.Round(-3.47m, 1, MidpointRounding.ToZero);
Console.WriteLine($"{result} = Math.Round({-3.47m}, 1, MidpointRounding.ToZero)\n");

/*
This code example produces the following results:

3.4 = Math.Round(3.45, 1, MidpointRounding.ToEven)
3.5 = Math.Round(3.45, 1, MidpointRounding.AwayFromZero)
3.4 = Math.Round(3.47, 1, MidpointRounding.ToZero)

-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)
-3.4 = Math.Round(-3.47, 1, MidpointRounding.ToZero)
*/

Açıklamalar

parametresi, decimals dönüş değerindeki anlamlı ondalık basamak sayısını belirtir ve 0 ile 28 arasında değişir. Sıfır ise decimals , bir tamsayı döndürülür.

parametresi için mode veya AwayFromZero belirtirsenizToEven, bu yuvarlama stratejileri yalnızca orta nokta değerlerine, yani en az anlamlı basamak 5 olan değerlere uygulanır.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Round(Decimal, MidpointRounding)

Kaynak:
Decimal.cs
Kaynak:
Decimal.cs
Kaynak:
Decimal.cs

Belirtilen yuvarlama stratejisini kullanarak ondalık değeri tamsayıya yuvarlar.

C#
public static decimal Round (decimal d, MidpointRounding mode);

Parametreler

d
Decimal

Yuvarlanacak ondalık bir sayı.

mode
MidpointRounding

Hangi yuvarlama stratejisinin kullanılacağını belirten numaralandırma değerlerinden biri.

Döndürülenler

Yuvarlama stratejisi kullanılarak mode yuvarlanan tamsayıd.

Uygulamalar

Özel durumlar

mode bir MidpointRounding değer değildir.

Sonuç bir nesne aralığının Decimal dışındadır.

Örnekler

Aşağıdaki örnek, yöntemi tarafından Round(Decimal, MidpointRounding) döndürülen değerleri farklı mode bağımsız değişkenlerle görüntüler.

C#
Console.WriteLine($"{"Value",-10} {"Default",-10} {"ToEven",-10} {"AwayFromZero",-15} {"ToZero",-15}");
for (decimal value = 12.0m; value <= 13.0m; value += 0.1m)
    Console.WriteLine($"{value,-10} {Math.Round(value),-10} " +
        $"{Math.Round(value, MidpointRounding.ToEven),-10} " +
        $"{Math.Round(value, MidpointRounding.AwayFromZero),-15} " +
        $"{Math.Round(value, MidpointRounding.ToZero),-15}");

// The example displays the following output:
//       Value      Default    ToEven     AwayFromZero    ToZero
//       12.0       12         12         12              12
//       12.1       12         12         12              12
//       12.2       12         12         12              12
//       12.3       12         12         12              12
//       12.4       12         12         12              12
//       12.5       12         12         13              12
//       12.6       13         13         13              12
//       12.7       13         13         13              12
//       12.8       13         13         13              12
//       12.9       13         13         13              12
//       13.0       13         13         13              13

Açıklamalar

parametresi için mode veya AwayFromZero belirtirsenizToEven, bu yuvarlama stratejileri yalnızca orta nokta değerlerine, yani en az anlamlı basamak 5 olan değerlere uygulanır.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Round(Decimal)

Kaynak:
Decimal.cs
Kaynak:
Decimal.cs
Kaynak:
Decimal.cs

Ondalık değeri en yakın tamsayıya yuvarlar.

C#
public static decimal Round (decimal d);

Parametreler

d
Decimal

Yuvarlanacak ondalık bir sayı.

Döndürülenler

Parametresine d en yakın tamsayı. Biri çift, diğeri tek olan iki tamsayının ortasındaysa d , çift sayı döndürülür.

Uygulamalar

Özel durumlar

Sonuç bir değer aralığının Decimal dışındadır.

Örnekler

Aşağıdaki örnek, 100 ile 102 arasında bir değer aralığını Decimal en yakın tamsayıya yuvarlar. yöntemi bankacı yuvarlama kullandığından, 100,5 100'e yuvarlar ve 101,5 102'ye yuvarlar.

C#
using System;

public class Example
{
   public static void Main()
   {
      for (decimal value = 100m; value <= 102m; value += .1m)
         Console.WriteLine("{0} --> {1}", value, Decimal.Round(value));
   }
}
// The example displays the following output:
//     100 --> 100
//     100.1 --> 100
//     100.2 --> 100
//     100.3 --> 100
//     100.4 --> 100
//     100.5 --> 100
//     100.6 --> 101
//     100.7 --> 101
//     100.8 --> 101
//     100.9 --> 101
//     101.0 --> 101
//     101.1 --> 101
//     101.2 --> 101
//     101.3 --> 101
//     101.4 --> 101
//     101.5 --> 102
//     101.6 --> 102
//     101.7 --> 102
//     101.8 --> 102
//     101.9 --> 102
//     102.0 --> 102

Açıklamalar

Bu yöntemin çalışma biçimi IEEE Standardı 754, bölüm 4'e göredir. Bu tür yuvarlama bazen çift veya bankacı yuvarlamaiçin yarım yuvarlak olarak adlandırılır. Orta nokta değerini tek bir yönde tutarlı bir şekilde yuvarlamanın sonucunda oluşan yuvarlama hatalarını en aza indirir. yönteminin bağımsız mode değişkeniyle çağrılmasıyla Round(Decimal, MidpointRounding) eşdeğerdirMidpointRounding.ToEven.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Round(Decimal, Int32)

Kaynak:
Decimal.cs
Kaynak:
Decimal.cs
Kaynak:
Decimal.cs

Değeri Decimal belirtilen ondalık basamak sayısına yuvarlar.

C#
public static decimal Round (decimal d, int decimals);

Parametreler

d
Decimal

Yuvarlanacak ondalık bir sayı.

decimals
Int32

Yuvarlanacak ondalık basamak sayısını belirten 0 ile 28 arasında bir değer.

Döndürülenler

Ondalık basamaklara yuvarlanmış sayıya ddecimals eşdeğer ondalık sayıdır.

Uygulamalar

Özel durumlar

decimals 0 ile 28 bir değer değildir.

Örnekler

Aşağıdaki örnek, yöntemini kullanarak birkaç Decimal değeri belirtilen sayıda ondalık basamak sayısına yuvarlar Round .

C#
using System;

class Example12
{
   public static void Main()
   {
      // Define a set of Decimal values.
      decimal[] values = { 1.45m, 1.55m, 123.456789m, 123.456789m,
                           123.456789m, -123.456m,
                           new Decimal(1230000000, 0, 0, true, 7 ),
                           new Decimal(1230000000, 0, 0, true, 7 ),
                           -9999999999.9999999999m,
                           -9999999999.9999999999m };
      // Define a set of integers to for decimals argument.
      int[] decimals = { 1, 1, 4, 6, 8, 0, 3, 11, 9, 10};

      Console.WriteLine("{0,26}{1,8}{2,26}",
                        "Argument", "Digits", "Result" );
      Console.WriteLine("{0,26}{1,8}{2,26}",
                        "--------", "------", "------" );
      for (int ctr = 0; ctr < values.Length; ctr++)
        Console.WriteLine("{0,26}{1,8}{2,26}",
                          values[ctr], decimals[ctr],
                          Decimal.Round(values[ctr], decimals[ctr]));
    }
}
// The example displays the following output:
//                   Argument  Digits                    Result
//                   --------  ------                    ------
//                       1.45       1                       1.4
//                       1.55       1                       1.6
//                 123.456789       4                  123.4568
//                 123.456789       6                123.456789
//                 123.456789       8                123.456789
//                   -123.456       0                      -123
//               -123.0000000       3                  -123.000
//               -123.0000000      11              -123.0000000
//     -9999999999.9999999999       9    -10000000000.000000000
//     -9999999999.9999999999      10    -9999999999.9999999999

Açıklamalar

Bu yöntem, yönteminin bağımsız mode değişkeniyle çağrılmasıyla Round(Decimal, Int32, MidpointRounding) eşdeğerdirMidpointRounding.ToEven. İki yuvarlatılmış değerin tam ortasında olduğunda d , sonuç en sağ ondalık konumunda çift basamaklı yuvarlatılmış değerdir. Örneğin, iki ondalık basameğe yuvarlandığında, 2,345 değeri 2,34 olur ve 2,355 değeri 2,36 olur. Bu işlem çifte doğru yuvarlama veya bankacı yuvarlama olarak bilinir. Orta nokta değerini tek bir yönde tutarlı bir şekilde yuvarlamanın sonucunda oluşan yuvarlama hatalarını en aza indirir.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1