Método MathF.Round() en C# con ejemplos | Juego – 2

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:

  1. Método MathF.Round (Único)
  2. Método MathF.Round(Single, Int32)
  3. Método MathF.Round(Single, Int32, MidpointRounding)
  4. 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));
    }
}
Producción:

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));
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *