溫馨提示×

C#四舍五入的4種方法

c#
小云
863
2023-09-28 07:30:51
欄目: 編程語言

在C#中,有多種方法可以實現(xiàn)四舍五入。以下是四種常用的方法:

  1. Math.Round() 函數(shù):Math.Round() 函數(shù)可以將一個浮點數(shù)四舍五入到最接近的整數(shù)。該函數(shù)有多個重載形式,可以指定要保留的小數(shù)位數(shù)、舍入方式等。例如:
double number = 3.7;
int roundedNumber = (int)Math.Round(number);
Console.WriteLine(roundedNumber);  // 輸出 4
  1. Math.Floor() 和 Math.Ceiling() 函數(shù):Math.Floor() 函數(shù)將一個浮點數(shù)向下取整,Math.Ceiling() 函數(shù)將一個浮點數(shù)向上取整。通過判斷小數(shù)位來實現(xiàn)四舍五入。例如:
double number = 3.7;
int roundedNumber = (int)Math.Floor(number + 0.5);
Console.WriteLine(roundedNumber);  // 輸出 4
  1. 自定義函數(shù):可以編寫自定義函數(shù)來實現(xiàn)四舍五入。例如:
double number = 3.7;
int roundedNumber = Round(number);
Console.WriteLine(roundedNumber);  // 輸出 4
public static int Round(double number)
{
int integerPart = (int)number;
double decimalPart = number - integerPart;
if (decimalPart >= 0.5)
{
return integerPart + 1;
}
else
{
return integerPart;
}
}
  1. 使用 Math.Truncate() 函數(shù)或強制類型轉(zhuǎn)換:Math.Truncate() 函數(shù)將一個浮點數(shù)向零取整。利用其返回的整數(shù)部分和原始數(shù)值的差值,可以判斷是否需要四舍五入。例如:
double number = 3.7;
int integerPart = (int)number;
int roundedNumber = number - integerPart >= 0.5 ? integerPart + 1 : integerPart;
Console.WriteLine(roundedNumber);  // 輸出 4

以上是四種在C#中實現(xiàn)四舍五入的常用方法。根據(jù)具體需求和場景選擇合適的方法。

0