Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este tema aún no ha recibido ninguna valoración - Valorar este tema

MidpointRounding (Enumeración)

Nota: esta enumeración es nueva en la versión 2.0 de .NET Framework.

Especifica cómo los métodos de redondeo matemáticos deben procesar un número que está comprendido entre dos números.

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

[ComVisibleAttribute(true)] 
public enum MidpointRounding
/** @attribute ComVisibleAttribute(true) */ 
public enum MidpointRounding
ComVisibleAttribute(true) 
public enum MidpointRounding
 Nombre de miembroDescripción
AwayFromZeroCuando un número está comprendido entre otros dos, se redondea hacia el número más cercano y más alejado de cero. 
ToEvenCuando un número está comprendido entre dos otros, se redondea hacia el número par más cercano. 

Utilice MidpointRounding con las sobrecargas adecuadas de System.Math.Round para controlar mejor el proceso de redondeo.

El control que debe ejercer un método de redondeo sobre un número que está comprendido entre dos números es ambiguo. Por ejemplo, el número 2,5 está comprendido entre 2 y 3. MidpointRounding especifica si el redondeo debe ser hacia el número par que da 2, en este ejemplo, o alejado de cero que da 3.

La tabla siguiente muestra los resultados de redondear algunos números negativos y positivos junto con los valores de MidpointRounding:

Número original

AwayFromZero

ToEven

3.5

4

4

2.8

3

3

2.5

3

2

2.1

2

2

-2.1

-2

-2

-2.5

-3

-2

-2.8

-3

-3

-3.5

-4

-4

En el siguiente ejemplo de código se muestra el método Round junto con la enumeración MidpointRounding.

// 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
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.