在C#中,MathF.Round()是MathF類方法,用於將值四舍五入到最接近的整數或小數位數。它返回數字的最接近值,其精度等於傳遞的第二個參數。如果要舍入的值恰好介於偶數和奇數之間,則返回偶數。 MathF.Round適用IEEE標準754,第4節。可以通過更改傳遞的參數的數量和類型來重載此方法。 MathF.Round()方法的重載列表中有4種方法,如下所示:
- MathF.Round(Single)方法
- MathF.Round(Single,Int32)方法
- MathF.Round(Single,Int32,MidpointRounding)方法
- MathF.Round(Single,MidpointRounding)方法
在這裏,我們將討論最後兩種方法。
Math.Round(Single, Int32, MidpointRounding) Method
此方法用於將單個精度浮點值四舍五入為指定數量的小數位。參數指定如果值在兩個數字之間的中間值時如何舍入。
用法: public static float Round (float x, int digits, MidpointRounding mode);
參數:
x:這是需要舍入的單精度浮點數,此參數的類型為System.Single。
digits:它是返回值中的小數位數,此參數的類型為System.Int32。
模式:有關如何將x取整(如果它位於其他兩個數字之間的中間)並作為MidpointRounding的說明。
返回類型:此方法返回最接近x的數字,該數字具有等於數字的小數位數。如果x的小數位數少於位數,則x不變返回。此方法的返回類型為System.Single。
異常:
- ArgumentOutOfRangeException:如果數字小於0或大於15。
- ArgumentException:如果模式不是MidpointRounding的有效值。
例:
// C# program to demonstrate the
// MathF.Round(Single, Int32,
// MidpointRounding) method
using System;
class Geeks {
// Main Method
public static void Main()
{
// The 4 values are store in an float
// type array name 'val'
float[] x = { 8.115f, 7.135f, 9.165f, 6.175f };
Console.WriteLine("Rounded values are:");
// 'foreach' loop iterates through
// each item from the array 'values'
// and storing the items in a new
// variable 'x'
foreach(float value in x)
// '{0}' specify the variable 'x' which is
// in 'foreach' loop and '{1}' specify the
// rounded value, here '2' defines the number
// of digit after point, e.g. 4.135f == 4.14f,
// after '4f.' there is 2 digits'.14f'
// and here '.ToEven' select the nearest even
// number e.g 4.125f == 4.12f, here nearest even
// number is '12f',
Console.WriteLine("{0} == {1}", value, MathF.Round(value, 2,
MidpointRounding.ToEven));
}
}
Rounded values are: 8.115 == 8.12 7.135 == 7.14 9.165 == 9.16 6.175 == 6.18
MathF.Round(Single, MidpointRounding) Method
此方法用於將單個精度浮點值舍入到最接近的整數。參數指定如果值在兩個數字之間的中間值時如何舍入。
用法: public static float Round (float x, MidpointRounding mode);
參數:
x:這是需要舍入的單精度浮點數,此參數的類型為System.Single。
模式:有關如何將x取整(如果它位於其他兩個數字之間的中間)並作為MidpointRounding的說明。
返回類型:此方法返回整數最近值。如果x位於兩個整數的中間,其中一個為偶數,另一個為奇數,則mode確定返回兩個中的哪個。此方法的返回類型為System.Single。
異常:如果模式不是MidpointRounding的有效值,則此方法提供ArgumentException。
例:
// C# program to demonstrate the
// MathF.Round(Single, MidpointRounding)
// method
using System;
class Geeks {
// Main Method
public static void Main()
{
// 'x' is float type variable
// which holds the value 7.1f
float x = 7.1f;
Console.WriteLine("Inside Loop:\n");
//'for loop', it execute the next
// output for 8 times
for (int i = 0; i <= 8; i++) {
// '{0}' specify the variable 'x' and
// '{1}' specify the rounded value
Console.WriteLine("{0} = {1}", x, MathF.Round(x,
MidpointRounding.AwayFromZero));
// increment 'x' by '0.1'
x += 0.1f;
}
// a new value is assigned
// to variable 'x'
x = 4.5f;
// prints a new line
Console.WriteLine();
//'{0}'specify the variable 'x' in which a new
// value 4.5f is assigned and '{1}' specify the
// new rounded value
Console.WriteLine("Outside Loop:{0} = {1}", x,
MathF.Round(x, MidpointRounding.AwayFromZero));
}
}
Inside Loop: 7.1 = 7 7.2 = 7 7.3 = 7 7.4 = 7 7.5 = 7 7.599999 = 8 7.699999 = 8 7.799999 = 8 7.899999 = 8 Outside Loop:4.5 = 5
相關用法
- C# MathF.Abs()用法及代碼示例
- C# MathF.Tan()用法及代碼示例
- C# MathF.Pow()用法及代碼示例
- C# MathF.Log()用法及代碼示例
- C# MathF.Min()用法及代碼示例
- C# MathF.Max()用法及代碼示例
- C# MathF.Sin()用法及代碼示例
- C# MathF.Cos()用法及代碼示例
- C# MathF.Exp()用法及代碼示例
- C# UInt32.Equals用法及代碼示例
- C# Boolean.GetTypeCode用法及代碼示例
- C# Type.FindMembers()用法及代碼示例
- C# Type.FindInterfaces()用法及代碼示例
注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 MathF.Round() Method in C# with Examples | Set – 2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。