En C#, MathF.Round() es un método de clase MathF que se usa para redondear un valor al entero más cercano o al número particular de dígitos fraccionarios. Devuelve el valor más cercano del número con la precisión igual al segundo parámetro pasado. Si el valor a redondear está exactamente a medio camino entre un número par y un número impar, entonces se devuelve el número par. MathF.Round aplica el estándar IEEE 754, sección 4. Este método se puede sobrecargar cambiando la cantidad y el tipo de argumentos que se pasan. Hay 4 métodos en la lista de sobrecarga del método MathF.Round() de la siguiente manera:
- Método MathF.Round (Único)
- Método MathF.Round(Single, Int32)
- Método MathF.Round(Single, Int32, MidpointRounding)
- Método MathF.Round(Single, MidpointRounding)
Aquí, discutiremos los dos últimos métodos.
Método Math.Round(Single, Int32, MidpointRounding)
Este método se utiliza para redondear un valor de punto flotante de precisión única a un número específico de dígitos fraccionarios. Un parámetro especifica cómo redondear el valor si está a medio camino entre dos números.
Sintaxis: public static float Round (float x, int digits, modo MidpointRounding);
Parámetros:
x : es el número de punto flotante de precisión simple requerido que se redondeará y el tipo de este parámetro es System.Single .
digits : Es el número de dígitos fraccionarios en el valor devuelto y el tipo de este parámetro es System.Int32 .
modo : Especificación sobre cómo redondear x si está a mitad de camino entre otros dos números y funciona como MidpointRounding .
Tipo de devolución: este método devuelve el número más cercano a x que tiene una cantidad de dígitos fraccionarios igual a digits . Si x tiene menos dígitos fraccionarios que dígitos , x se devuelve sin cambios. El tipo de retorno de este método es System.Single .
Excepciones:
- ArgumentOutOfRangeException : si el dígito es menor que 0 o mayor que 15.
- ArgumentException : si el modo no es un valor válido de MidpointRounding.
Ejemplo:
// 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
Método MathF.Round(Single, MidpointRounding)
Este método se usa para redondear un valor de punto flotante de precisión simple al entero más cercano. Un parámetro especifica cómo redondear el valor si está a medio camino entre dos números.
Sintaxis: public static float Round (float x, modo MidpointRounding);
Parámetros:
x : es el número de punto flotante de precisión simple requerido que se redondeará y el tipo de este parámetro es System.Single .
modo : Especificación sobre cómo redondear x si está a mitad de camino entre otros dos números y funciona como MidpointRounding .
Tipo de devolución: este método devuelve el valor entero más cercano. Si la x está a medio camino entre dos enteros, uno de los cuales es par y el otro impar, entonces el modo determina cuál de los dos se devuelve. El tipo de retorno de este método es System.Single .
Excepción: este método da ArgumentException si el modo no es un valor válido de MidpointRounding.
Ejemplo:
// 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
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA