Esta documentación está archivada y no tiene mantenimiento.

Math.Round (Método) (Double, MidpointRounding)

Nota: este método es nuevo en la versión 2.0 de .NET Framework.

Redondea un valor de punto flotante de precisión doble al entero más cercano. Un parámetro especifica el redondeo del valor si está a la mitad del intervalo entre otros dos números.

Espacio de nombres: System
Ensamblado: mscorlib (en mscorlib.dll)

public static double Round (
	double value,
	MidpointRounding mode
)
public static double Round (
	double value, 
	MidpointRounding mode
)
public static function Round (
	value : double, 
	mode : MidpointRounding
) : double

Parámetros

value

Número de punto flotante de precisión doble que se va a redondear.

mode

Especificación sobre el redondeo de value si se encuentra a la mitad del intervalo comprendido entre otros dos números.

Valor devuelto

El entero más cercano value. Si value se encuentra a la mitad del intervalo entre dos números, uno par y el otro impar, mode determina cuál de los dos números se devuelve.

Tipo de excepciónCondición

ArgumentException

mode no es un valor válido de System.MidpointRounding.

El comportamiento de este método sigue el estándar IEEE 754, sección 4. El tipo de redondeo que se realiza cuando mode es ToEven se suele denominar redondeo al entero más próximo o redondeo bancario.

En el siguiente ejemplo de código se muestra el método Round junto con la enumeración MidpointRounding. Aunque el ejemplo de código redondea los números decimales, el método Round redondea los de punto flotante de precisión doble de forma similar.

// This example demonstrates the Math.Round() method in conjunction 
// with the MidpointRounding enumeration.
using System;

class Sample 
{
    public static void Main() 
    {
    decimal result = 0.0m;
    decimal posValue =  3.45m;
    decimal negValue = -3.45m;

// By default, round a positive and a negative value to the nearest even number. 
// The precision of the result is 1 decimal place.

    result = Math.Round(posValue, 1);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, posValue);
    result = Math.Round(negValue, 1);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, negValue);
    Console.WriteLine();

// Round a positive value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

    result = Math.Round(posValue, 1, MidpointRounding.ToEven);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, posValue);
    result = Math.Round(posValue, 1, MidpointRounding.AwayFromZero);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, posValue);
    Console.WriteLine();

// Round a negative value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

    result = Math.Round(negValue, 1, MidpointRounding.ToEven);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, negValue);
    result = Math.Round(negValue, 1, MidpointRounding.AwayFromZero);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, negValue);
    Console.WriteLine();
    }
}
/*
This code example produces the following results:

 3.4 = Math.Round( 3.45, 1)
-3.4 = Math.Round(-3.45, 1)

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

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

*/

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0
Mostrar: