Está en la página 1de 34

FORMATOS DE NUMEROS EN VS 2008

Devuelve una cadena con el formato que especifiquen las instrucciones contenidas en una expresión String de formato:

Public Shared Function Format(ByVal Expression As Object, Optional ByVal _ Style As String = "" _) As String

Expression

Requerido. Cualquier expresión válida.

Style

Opcional. Expresión String de formato con nombre o definido por el usuario que es válido.

Para obtener información sobre cómo crear el argumento Style, vea el tema correspondiente en la siguiente lista:

Para dar

 

formato

Haga lo siguiente

Números

Fechas y horas

Números de serie de fecha y hora.

Usar formatos de fecha y hora o numéricos.

Si intenta aplicar formato a un número sin especificar Style, la función Format ofrecerá una funcionalidad similar a la función Str, a pesar de admitir configuraciones internacionales. No obstante, los números positivos a los que se les da formato de cadena mediante la función Format no incluyen ningún espacio inicial reservado para el signo del valor; los que se convierten mediante la función Str sí conservan este espacio inicial.

Si da formato a una cadena numérica no localizada, debería utilizar un formato numérico definido por el usuario para asegurarse de lograr la presentación deseada.

El método String.Format también proporciona una funcionalidad similar.

En este ejemplo se muestran los diversos usos de la función Format para dar formato a valores tanto con formatos String como otros definidos por el usuario. Para el separador de fecha (/), hora (:) e indicadores de a.m./p.m. (t y tt), el formato de salida que muestre su sistema dependerá de la configuración regional que use el código. Cuando las horas y fechas se muestren en el entorno de desarrollo, se utilizará el formato de fecha y hora corta de la configuración regional del código.

Nota:

Para configuraciones regionales que utilizan un reloj de 24 horas, los indicadores de a.m./p.m. (t y tt) no muestran nada.

VB

Dim TestDateTime As Date = #1/27/2001 5:04:23 PM# Dim TestStr As String ' Returns current system time in the system-defined long time format. TestStr = Format(Now(), "Long Time") ' Returns current system date in the system-defined long date format. TestStr = Format(Now(), "Long Date") ' Also returns current system date in the system-defined long date ' format, using the single letter code for the format. TestStr = Format(Now(), "D")

' Returns the value of TestDateTime in user-defined date/time formats. ' Returns "5:4:23". TestStr = Format(TestDateTime, "h:m:s") ' Returns "05:04:23 PM". TestStr = Format(TestDateTime, "hh:mm:ss tt") ' Returns "Saturday, Jan 27 2001". TestStr = Format(TestDateTime, "dddd, MMM d yyyy") ' Returns "17:04:23". TestStr = Format(TestDateTime, "HH:mm:ss") ' Returns "23".

TestStr = Format(23)

' User-defined numeric formats. ' Returns "5,459.40". TestStr = Format(5459.4, "##,##0.00") ' Returns "334.90". TestStr = Format(334.9, "###0.00") ' Returns "500.00%". TestStr = Format(5, "0.00%")

Espacio de nombres:Microsoft.VisualBasic

Módulo:Strings

Ensamblado:Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Referencia

Diferentes formatos para diferentes valores numéricos (Función Format)

Visual Studio 2008

Expresión de formato definida por el usuario y correspondiente a números que pueden contener entre una y tres secciones separadas por signos de punto y coma. Si el argumento Style de la función Format contiene uno de los formatos numéricos predefinidos, sólo se permite una sección.

Si usa

El resultado será

Sólo una

sección

La expresión de formato se aplica a todos los valores.

Dos secciones

La primera sección se aplica a valores positivos y ceros; la segunda, sólo a valores negativos.

Tres secciones.

La primera sección se aplica a valores positivos y ceros; la segunda, sólo a valores negativos; la tercera, a ceros.

El siguiente ejemplo contiene dos secciones: la primera define el formato para valores positivos y ceros; la segunda define el formato para valores negativos. Como el argumento Style de la función Format utiliza una cadena, ésta aparece entre comillas.

Dim Style1 As String = "$#,##0;($#,##0)"

Si incluye signos de punto y coma sin nada entre ellos, la sección ausente se imprimirá usando el formato del valor positivo. Por ejemplo, el siguiente formato mostrará valores positivos y negativos usando el formato de la primera sección; y mostrará Zero si el valor es cero.

Dim Style2 As String = "$#,##0;;\Z\e\r\o"

Formatos numéricos predefinidos (Función Format)

La tabla siguiente muestra los nombres de formato numérico predefinidos. Éstos pueden usarse por nombre como argumento de estilo para la función Format:

Nombre de

formato

Descripción

General Number, G o g

Muestra el número sin separadores de miles.

Currency, C o c

Muestra el número con separadores de miles, en su caso; también muestra dos dígitos a la derecha del separador de decimales. El formato de salida dependerá de la configuración regional.

Fixed, F o f

Muestra al menos un dígito a la izquierda y dos a la derecha del separador de decimales.

Standard, N o n

Muestra el número con separador de miles, al menos un dígito a la izquierda y dos a la derecha del separador de decimales.

Percent

Muestra el número multiplicado por 100 con un signo de porcentaje (%) a la derecha; siempre muestra dos dígitos a la derecha del separador de decimales.

Po bien p

Muestra el número con separador de miles multiplicado por 100 con un signo de porcentaje (%) a la derecha y separado por un solo espacio; siempre muestra dos dígitos a la derecha del separador de decimales.

Scientific

Utiliza notación científica estándar y proporciona dos dígitos significativos.

 

Eo bien e

Utiliza notación científica estándar y proporciona seis dígitos significativos.

Do bien d

Muestra el número como una cadena que contiene el valor del número en formato Decimal (base 10). Esta opción sólo se admite para tipos integrales (Byte, Short, Integer, Long).

Xo bien x

Muestra el número como una cadena que contiene el valor del número en formato Hexadecimal (base 16). Esta opción sólo se admite para tipos integrales (Byte, Short, Integer, Long).

Yes/No

Muestra No si el número es 0; de lo contrario, muestra Yes.

True/False

Muestra False si el número es 0; de lo contrario, muestra True.

On/Off

Muestra Off si el número es 0; de lo contrario, muestra On.

No se admiten los formatos Yes/No, True/False y On/Off.

Formatos de fecha y hora predefinidos (Función Format)

La tabla siguiente identifica los nombres de formatos de fecha y hora predefinidos. Éstos pueden usarse por nombre como argumento de estilo para la función Format:

Nombre de

formato

Descripción

General Dateo

Muestra una fecha o una hora. Por ejemplo: 3/12/2008 11:07:31 AM. El

bien G

formato de fecha depende del valor de la referencia cultural actual de la aplicación.

Long Date,

 

Medium Date

Muestra una fecha de acuerdo con el formato de fecha larga vigente en la

o D

referencia cultural actual. Por ejemplo: Wednesday, March 12, 2008.

Short Dateo

Muestra una fecha de acuerdo con el formato de fecha corta vigente en la

bien d

referencia cultural actual. Por ejemplo: 3/12/2008.

El carácter d muestra el día en un formato de fecha definido por el usuario.

 

Long Time,

Muestra una hora de acuerdo con el formato de hora larga vigente en la

Medium Time

referencia cultural actual; e incluye normalmente horas, minutos y segundos.

o T

Por ejemplo: 11:07:31 AM.

 

Muestra una hora de acuerdo con el formato de hora corta vigente en la referencia cultural actual. Por ejemplo: 11:07 AM.

Short Time - O bien - t

El carácter t muestra valores PM o AM para las configuraciones regionales que utilizan un reloj de 12 horas en un formato de hora definido por el usuario. Para obtener más información, vea Formatos de fecha y hora definidos por el usuario (Función Format).

f

Muestra la fecha larga y la hora corta de acuerdo con el formato vigente en la referencia cultural actual. Por ejemplo: Wednesday, March 12, 2008 11:07 AM.

F

Muestra la fecha larga y la hora larga de acuerdo con el formato vigente en la referencia cultural actual. Por ejemplo: Wednesday, March 12, 2008 11:07:31 AM.

g

Muestra la fecha corta y la hora corta de acuerdo con el formato vigente en la referencia cultural actual. Por ejemplo: 3/12/2008 11:07 AM.

 

Muestra el mes y el día de una fecha dada. Por ejemplo: March 12.

M, m

El carácter M muestra el mes en un formato de fecha definido por el usuario. El carácter m muestra los minutos en un formato de hora definido por el usuario. Para obtener más información, vea Formatos de fecha y hora definidos por el usuario (Función Format).

R, r

Da formato a la fecha según la propiedad RFC1123Pattern. Por ejemplo: Wed, 12 Mar 2008 11:07:31 GMT. La fecha con formato no ajusta el valor de la fecha y hora. Debe ajustar el valor de fecha u hora según GMT antes de llamar a la función Format.

s

Da formato a la fecha y la hora como un índice ordenable. Por ejemplo: 2008-

03-12T11:07:31.

El carácter s muestra los segundos en un formato de hora definido por el

usuario. Para obtener más información, vea Formatos de fecha y hora definidos

 
 

Da formato a la fecha y la hora como un índice GMT ordenable. Por ejemplo:

u

2008-03-12 11:07:31Z.

 

Da formato como GMT a la fecha larga y la hora larga. Por ejemplo:

U

Wednesday, March 12, 2008 6:07:31 PM.

 

Da formato a la fecha especificando el año y el mes. Por ejemplo: March,

2008.

Y, y

Los caracteres Y e y muestran el año en un formato de fecha definido por el usuario. Para obtener más información, vea Formatos de fecha y hora definidos por el usuario (Función Format).

Para obtener más información sobre la información de la referencia cultural actual de la aplicación, vea Cómo afecta la referencia cultural a las cadenas en Visual Basic.

Formatos de fecha y hora definidos por el usuario (Función Format)

Visual Studio 2008

En la siguiente tabla se muestran los caracteres que se pueden utilizar para crear formatos de fecha y hora definidos por el usuario. A diferencia de versiones anteriores de Visual Basic, estos caracteres de formato distinguen mayúsculas de minúsculas.

Carácter

Descripción

(:)

Separador de hora. En ciertas configuraciones regionales, pueden usarse otros caracteres para representar el separador de hora. Este separador horario separa horas, minutos y segundos cuando se da formato a valores horarios. El carácter real que se usa como separador de hora en los resultados con formato, viene determinado por el valor de referencia cultural actual de la aplicación.

(/)

Separador de fecha. En ciertas configuraciones regionales, pueden usarse otros caracteres para representar el separador de fecha. Este separador separa el día, mes y año cuando se da formato a los valores de fecha. El carácter real que se usa como separador de fecha en los resultados con formato, viene determinado por la referencia cultural actual de la aplicación.

(%)

Se utiliza para indicar que el carácter siguiente debe leerse como formato de una

 

sola letra sin tener en cuenta las posibles letras finales. También se emplea para indicar que un formato de una sola letra se lea como formato definido por el usuario. Para obtener más información, consulte la información que aparece a continuación.

d

Muestra el día como un número sin cero a la izquierda (por ejemplo, 1). Utilice %d si es el único carácter en el formato numérico definido por el usuario.

dd

Muestra el día como un número con cero a la izquierda (por ejemplo, 01).

ddd

Muestra el día de forma abreviada (por ejemplo, Sun).

dddd

Muestra el día de forma completa (por ejemplo, Sunday).

Muestra el mes como un número sin cero a la izquierda (por ejemplo, enero se

M

representa como 1). Utilice %M si es el único carácter en el formato numérico definido por el usuario.

MM

Muestra el mes como un número con cero a la izquierda (por ejemplo, 01/12/01), doce de enero de 2001.

MMM

Muestra el mes en forma abreviada (por ejemplo, Jan).

MMMM

Muestra el mes en forma completa (por ejemplo, January).

gg

Especifica el período o era (por ejemplo, A.D.)

h

Muestra la hora como un número sin ceros a la izquierda y en formato de doce horas (por ejemplo, 1:15:15 PM). Utilice %h si es el único carácter en el formato numérico definido por el usuario.

hh

Muestra la hora como un número con ceros a la izquierda y en formato de doce horas (por ejemplo, 01:15:15 PM).

H

Muestra la hora como un número sin ceros a la izquierda y en formato de doce horas (por ejemplo, 1:15:15). Utilice %H si es el único carácter en el formato numérico definido por el usuario.

HH

Muestra la hora como un número con ceros a la izquierda y en formato de doce horas (por ejemplo, 01:15:15).

m

Muestra los minutos como un número sin ceros a la izquierda (por ejemplo,

 

12:1:15). Utilice %m si es el único carácter en el formato numérico definido por el usuario.

Muestra los minutos como un número con ceros a la izquierda (por ejemplo,

mm

12:01:15).

s

Muestra los segundos como un número sin ceros a la izquierda (por ejemplo, 12:15:5). Utilice %s si es el único carácter en el formato numérico definido por el usuario.

Muestra los segundos como un número con ceros a la izquierda (por ejemplo,

ss

12:15:05).

f

Muestra fracciones de segundos. Por ejemplo, ff muestra centésimas de segundo, mientras que ffff muestra diez milésimas de segundo. Puede utilizar hasta siete símbolos f en el formato definido por el usuario. Utilice %f si es el único carácter en el formato numérico definido por el usuario.

t

Usa el reloj de doce horas; muestra una A mayúscula para cualquier hora entre medianoche y mediodía, y una P mayúscula para cualquier hora entre mediodía y medianoche. Utilice %t si éste es el único carácter del formato numérico definido por el usuario.

Para las configuraciones regionales que utilizan el reloj de doce horas, muestra la leyenda AM en mayúsculas para cualquier hora entre medianoche y mediodía; y PM en mayúsculas para cualquier hora entre mediodía y medianoche.

tt

Para las configuraciones regionales que utilizan el reloj de 24 horas, no muestra nada.

y

Muestra el año sin cero inicial. Utilice %y si es el único carácter en el formato numérico definido por el usuario.

yy

Muestra el año en formato numérico de dos dígitos sin cero inicial, si procede.

yyy

Muestra el año en formato numérico de cuatro dígitos.

yyyy

Muestra el año en formato numérico de cuatro dígitos.

z

Muestra el desplazamiento de zona horaria sin cero a la izquierda (por ejemplo, -8). Utilice %z si es el único carácter en el formato numérico definido por el usuario.

 

Muestra el desplazamiento de zona horaria con un cero a la izquierda (por ejemplo,

zz

-08).

zzz

Muestra el desplazamiento completo de zona horaria (por ejemplo, -08:00).

Para obtener más información sobre la información de la referencia cultural actual de la aplicación, vea Cómo afecta la referencia cultural a las cadenas en Visual Basic.

A continuación se muestran algunos ejemplos de formatos de hora y fecha definidos por el usuario y correspondientes al 7 de diciembre de 1958, a las ocho horas, cincuenta minutos y treinta y cinco segundos de la tarde (December 7, 1958, 8:50 PM, 35 seconds):

Formato

Muestra

M/d/yy

12/7/58

d-MMM

7-Dec

d-MMMM-yy

7-December-58

d MMMM

7 December

MMMM yy

December 58

hh:mm tt

08:50 PM

h:mm:ss t

8:50:35 P

H:mm

20:50

H:mm:ss

20:50:35

M/d/yyyy H:mm

12/7/1958 20:50

El fabricante de cada dispositivo es el que determina la resolución de tiempo mínima. Si la resolución de tiempo del dispositivo es lo bastante amplia, el carácter de formato f devuelve 0 cuando se ejecuta en ese dispositivo.

Formatos numéricos definidos por el usuario (Función Format)

La siguiente tabla identifica caracteres que puede usar para crear formatos de número definidos por el usuario. Éstos pueden usarse para generar el argumento Style correspondiente a la función Format:

Carácter

Descripción

Ninguna

Muestra el número sin formato alguno.

 

Marcador de posición de dígito. Muestra un dígito o un cero. Si la expresión tiene un dígito en la posición donde aparece el cero en la cadena de formato, éste se mostrará así; de lo contrario, aparecerá un cero en esa posición.

(0)

Si el número tiene menos dígitos que ceros (a cualquier lado del separador decimal) en la expresión de formato, se mostrarán ceros iniciales o finales. Si el número tiene más dígitos a la derecha del separador decimal que ceros en la expresión de formato, se redondeará el número a tantos decimales como ceros haya. Si el número tiene más dígitos a la derecha del separador decimal que ceros en la expresión de formato, se redondeará el número a tantos decimales como ceros haya.

 

Marcador de posición de dígito. Muestra un dígito o nada. Si la expresión tiene un dígito en la posición donde aparece el carácter # en la cadena de formato, se muestra; de lo contrario, no aparece nada en esa posición.

(#)

Este símbolo funciona como el marcador de posición de dígito 0, salvo que los ceros iniciales y finales no se mostrarán si el número contiene menos dígitos que caracteres # a cualquiera de los lados del separador decimal en la expresión de formato.

(.)

Marcador de posición decimal. El marcador de posición decimal determina cuántos dígitos se mostrarán a la izquierda y derecha del separador decimal. Si la expresión de formato sólo contiene caracteres # a la izquierda de este símbolo, los números inferiores a 1 empezarán con un separador decimal. Par mostrar un cero inicial con números fraccionarios, use el cero como el primer marcador de posición digital a la izquierda del separador decimal. El uso del punto o la coma como separador decimal depende de la configuración regional en cada caso. El mismo carácter utilizado como marcador decimal en virtud del formato de salida dependerá del formato de número reconocido por su sistema. Por tanto, deberá usar el punto

como marcador decimal en sus formatos, incluso aunque su configuración regional

 

utilice la coma como separador decimal. La cadena con formato se mostrará con el formato correcto para la configuración regional correspondiente.

(%)

Marcador de posición de porcentaje. Multiplica la expresión por 100. El carácter de porcentaje (%) se inserta en la misma posición en la que aparece en la cadena de formato.

(,)

Separador de miles. El separador de miles separa las unidades de millar de las centenas con un número que presente cuatro o más dígitos a la izquierda del separador decimal. Se especificará un uso estándar del separador de miles si el formato contiene un separador de miles rodeado de marcadores de posición de dígito (0 o #).

Un separador de miles situado inmediatamente a la izquierda del separador decimal (se especificará si se trata de un decimal o no) o como el carácter más a la derecha de la cadena significa "reducir el número dividiéndolo por 1000 y redondeándolo en caso necesario". Los números menores que 1,000 pero mayores o iguales que 500 se muestran como 1; los números menores que 500 se muestran como 0. Dos separadores de miles adyacentes en esta posición se reducen por un factor de 1 millón, más otro factor adicional de 1000 por cada separador adicional.

En el caso de los separadores múltiples en cualquier posición que no sea inmediatamente a la izquierda del separador decimal o la posición más a la derecha de la cadena, se interpretará que simplemente especifican el uso de un separador de miles. El uso del punto o la coma como separador de miles depende de la configuración regional en cada caso. El mismo carácter utilizado como separador de miles en virtud del formato de salida dependerá del formato de número reconocido por su sistema. Por tanto, deberá usar la coma como marcador de miles en sus formatos, incluso aunque su configuración regional utilice el punto como marcador de miles. La cadena con formato se mostrará con el formato correcto para la configuración regional correspondiente.

Por ejemplo, considere las tres cadenas de formato siguientes:

"#,0.", que utiliza el separador de miles para dar formato al número 100 millones como la cadena "100,000,000".

"#0,.", que ajusta la escala en un factor de mil para dar formato al número 100 millones como la cadena "100000".

 

"#,0,.", que utiliza el separador de miles y el ajuste de la escala en un factor de mil para dar formato al número 100 millones como la cadena "100,000".

(:)

Separador de hora. En ciertas configuraciones regionales, pueden usarse otros caracteres para representar el separador de hora. Este separador horario separa horas, minutos y segundos cuando se da formato a valores horarios. El carácter real utilizado es el especificado como separador de hora en la configuración de su sistema.

(/)

Separador de fecha. En ciertas configuraciones regionales, pueden usarse otros caracteres para representar el separador de fecha. Este separador separa el día, mes y año cuando se da formato a los valores de fecha. El carácter real utilizado es el especificado como separador de fecha en la configuración de su sistema.

 

Formato científico. Si la expresión de formato contiene al menos un marcador de posición de dígito (0 o #) a la izquierda de E-, E+, e- o e+, el número se muestra en formato científico, y se inserta E o e entre el número y su exponente. El número de

(E-E+e-

marcadores de posición digitales a la izquierda determina el número de dígitos en

e+)

el exponente. Use E- o e- para colocar un signo menos junto a los exponentes negativos. Utilice E+ o e+ para colocar un signo menos junto a los exponentes negativos y un signo más junto a los positivos. También deberá incluir marcadores de posición digitales a la derecha de este símbolo para obtener un formato correcto.

-+$ ( )

Caracteres literales. Estos caracteres se mostrarán exactamente como se escriben en la cadena de formato. Para mostrar un carácter distinto de los listados, se hace preceder de una barra invertida (\) o se escribe entre comillas (" ").

 

Muestra el siguiente carácter de una cadena de formato. Para mostrar un carácter dotado de un significado especial como carácter literal, éste debe ir precedido de una barra invertida (\). La barra invertida en sí no aparecerá. El uso de una barra invertida equivale a incluir el siguiente carácter entre comillas. Para mostrar una barra invertida, se utilizan dos (\\).

(\)

Ejemplos de caracteres que no se pueden mostrar cuando los caracteres literales son caracteres de formato de fecha y de formato de hora (a, c, d, h, m, n, p, q, s, t, w, y, / y :), caracteres de formato numérico (#, 0, %, E, e, coma y punto) y caracteres de formato de cadenas (@, &, <, > y !).

("ABC")

Muestra la cadena entre comillas (" "). Si se desea insertar una cadena en el

argumento de estilo desde el código, debe usar Chr(34) para incluir el texto (34 es

 

el código de caracteres correspondiente a las comillas dobles (")).

La tabla siguiente contiene algunas muestras de expresiones de formato correspondientes a números. En estos ejemplos se presupone que la configuración regional del sistema es Inglés (Estados Unidos). La primera columna contiene las cadenas de formato correspondientes al argumento Style de la función Format; las otras columnas contienen el formato de salida resultante si los datos con formato contienen el valor asignado en los encabezados de columna.

Formato (Style)

"5" con formato como

"-5" con formato como

"0.5" con formato como

Zero-length string ("") 5

-5

0.5

0

5

-5

1

0.00

5.00

-5.00

0.50

#,##0

5

-5

1

$#,##0;($#,##0)

$5

($5)

$1

$#,##0.00;($#,##0.00) $5.00

($5.00)

$0.50

0%

500%

-500%

50%

0.00%

500.00%

-500.00%

50.00%

0.00E+00

5.00E+00

-5.00E+00

5.00E-01

0.00E-00

5.00E00

-5.00E00

5.00E-01

Espacio de nombres:Microsoft.VisualBasic

Módulo:Strings

Ensamblado:Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Math.Round (Método)

.NET Framework 3.5

Redondea un valor al entero más próximo o al número especificado de posiciones decimales.

 

Nombre

Descripción

Redondea un valor decimal al entero más próximo.

Redondea un valor de punto flotante de precisión doble al entero más cercano.

Redondea un valor decimal a un número especificado de

dígitos fraccionarios.

 

Redondea un valor decimal al entero más próximo. Un

parámetro especifica el redondeo del valor si está a la mitad del intervalo entre otros dos números.

Redondea un valor de punto flotante de precisión doble a un número especificado de dígitos fraccionarios.

 

Redondea un valor de punto flotante de precisión doble al

<a href=Round(Double, entero más cercano. Un parámetro especifica el redondeo " id="pdf-obj-14-64" src="pdf-obj-14-64.jpg">

entero más cercano. Un parámetro especifica el redondeo

del valor si está a la mitad del intervalo entre otros dos números.

Redondea un valor decimal a un número especificado de

dígitos fraccionarios. Un parámetro especifica cómo se

dígitos fraccionarios. Un parámetro especifica cómo se

redondea el valor si está a la mitad del intervalo entre otros dos números.

 

Redondea un valor de punto flotante de precisión doble al

<a href=Round(Double, Int32, MidpointRounding) número especificado de dígitos fraccionarios. Un parámetro especifica el redondeo del valor si está a la mitad del intervalo entre otros dos números. " id="pdf-obj-14-103" src="pdf-obj-14-103.jpg">

número especificado de dígitos fraccionarios. Un parámetro especifica el redondeo del valor si está a la mitad del intervalo entre otros dos números.

Math.Round (Método) (Decimal)

.NET Framework 3.5

Redondea un valor decimal al entero más próximo.

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

public static decimal Round( decimal d )

Parámetros

d

Tipo: System.Decimal Número decimal que se desea redondear.

Valor devuelto

Tipo: System.Decimal El parámetro d entero más próximo. Si el componente de fracción de d se encuentra en mitad del intervalo entre dos números, uno par y el otro impar, se devuelve el número impar.

Excepción

Condición

OverflowException

El resultado está fuera del intervalo de Decimal.

El comportamiento de este método sigue el estándar IEEE 754, sección 4. A este tipo de redondeo a veces se le denomina redondeo al entero más próximo o redondeo bancario. Minimiza errores de redondeo resultado de redondear de forma consistente un valor de punto medio en una dirección única.

Para controlar el tipo de redondear utilizado por el método Round(Decimal), llame a la sobrecarga Math.Round(Decimal, MidpointRounding).

En el siguiente ejemplo de código se muestra el redondeo al entero más próximo.

using System;

class Program

{

static void Main() { Console.WriteLine("Classic Math.Round in CSharp");

Console.WriteLine(Math.Round(4.4)); // 4 Console.WriteLine(Math.Round(4.5)); // 4 Console.WriteLine(Math.Round(4.6)); // 5 Console.WriteLine(Math.Round(5.5)); // 6 }

}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

Math.Round (Método) (Double)

.NET Framework 3.5

Redondea un valor de punto flotante de precisión doble al entero más cercano.

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

public static double Round( double a )

Parámetros

a

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

Valor devuelto

Tipo: System.Double El entero más cercano a. Si el componente de fracción de a se encuentra en mitad del intervalo entre dos números, uno par y el otro impar, se devuelve el número impar.

El comportamiento de este método sigue el estándar IEEE 754, sección 4. A este tipo de redondeo a veces se le denomina redondeo al entero más próximo o redondeo bancario.

Minimiza los errores de redondeo generados por redondear de forma consistente un valor de punto medio en una dirección única.

Para controlar el tipo de redondeo utilizado por el método Round, llame a la sobrecarga Math.Round(Double, MidpointRounding).

El ejemplo siguiente muestra el redondeo al valor entero más cercano.

using System;

class Program

{

 

static void Main() { Console.WriteLine("Classic Math.Round in CSharp"); Console.WriteLine(Math.Round(4.4)); // 4 Console.WriteLine(Math.Round(4.5)); // 4 Console.WriteLine(Math.Round(4.6)); // 5 Console.WriteLine(Math.Round(5.5)); // 6 }

}

En el siguiente ejemplo de código se utiliza Round como ayuda para calcular los ángulos internos de un trapezoide determinado.

/// <summary> /// The following class represents simple functionality of the trapezoid.

/// </summary> class MathTrapezoidSample {

private double m_longBase; private double m_shortBase; private double m_leftLeg; private double m_rightLeg;

public MathTrapezoidSample(double longbase, double shortbase, double leftLeg, double rightLeg) {

m_longBase = Math.Abs(longbase); m_shortBase = Math.Abs(shortbase); m_leftLeg = Math.Abs(leftLeg); m_rightLeg = Math.Abs(rightLeg);

}

private double GetRightSmallBase() {

return (Math.Pow(m_rightLeg,2.0) - Math.Pow(m_leftLeg,2.0) + Math.Pow(m_longBase,2.0) + Math.Pow(m_shortBase,2.0) - 2* m_shortBase * m_longBase)/ (2*(m_longBase - m_shortBase));

}

public double GetHeight() {

double x = GetRightSmallBase();

return Math.Sqrt(Math.Pow(m_rightLeg,2.0) -

Math.Pow(x,2.0));

}

public double GetSquare() {

return GetHeight() * m_longBase / 2.0;

}

public double GetLeftBaseRadianAngle() {

double sinX = GetHeight()/m_leftLeg; return Math.Round(Math.Asin(sinX),2);

}

public double GetRightBaseRadianAngle() {

double x = GetRightSmallBase(); double cosX = (Math.Pow(m_rightLeg,2.0) + Math.Pow(x,2.0) - Math.Pow(GetHeight(),2.0))/(2*x*m_rightLeg); return Math.Round(Math.Acos(cosX),2);

}

public double GetLeftBaseDegreeAngle() {

double x = GetLeftBaseRadianAngle() * 180/ Math.PI; return Math.Round(x,2);

}

public double GetRightBaseDegreeAngle() {

double x = GetRightBaseRadianAngle() * 180/ Math.PI; return Math.Round(x,2);

}

static void Main(string[] args) {

MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0); Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0"); double h = trpz.GetHeight(); Console.WriteLine("Trapezoid height is: " +

h.ToString());

double dxR = trpz.GetLeftBaseRadianAngle(); Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians"); double dyR = trpz.GetRightBaseRadianAngle(); Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians"); double dxD = trpz.GetLeftBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees"); double dyD = trpz.GetRightBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees"); }

}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Math.Round (Método) (Decimal, Int32)

.NET Framework 3.5

Redondea un valor decimal a un número especificado de dígitos fraccionarios.

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

public static decimal Round( decimal d, int decimals )

Parámetros

d

Tipo: System.Decimal Número decimal que se desea redondear.

decimals

Tipo: System.Int32 Número de posiciones decimales del valor devuelto.

Valor devuelto

Tipo: System.Decimal Número más cercano a d que contiene varios dígitos fraccionarios iguales a decimals.

Excepción

Condición

n

decimals es menor que 0 o mayor que 28.

OverflowException

El resultado está fuera del intervalo de Decimal.

El parámetro decimals especifica el número de dígitos fraccionarios del valor devuelto, que puede oscilar entre 0 y 28. Si el valor de decimals es cero, se devuelve un número entero.

Si el valor de los dígitos de d a la derecha de la posición de decimals está a mitad de camino entre el dígito en la posición de decimals, se redondea hacia arriba ese dígito si es impar o no se modifica si es par. Si la precisión de d es menor que decimals, se devuelve d sin modificar.

El comportamiento de este método sigue el estándar IEEE 754, sección 4. A este tipo de redondeo a veces se le denomina redondeo al entero más próximo o redondeo bancario. Minimiza errores de redondeo resultado de redondear de forma consistente un valor de punto medio en una dirección única.

Para controlar el tipo de redondeo utilizado por el método Round(Decimal, Int32), llame a la sobrecarga Decimal.Round(Decimal, Int32, MidpointRounding).

En el siguiente ejemplo de código se muestra el redondeo al entero más próximo.

Math.Round(3.44, 1); //Returns 3.4. Math.Round(3.45, 1); //Returns 3.4. Math.Round(3.46, 1); //Returns 3.5.

Math.Round(4.34, 1); // Returns 4.3 Math.Round(4.35, 1); // Returns 4.4 Math.Round(4.36, 1); // Returns 4.4

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

.NET Framework 3.5

Redondea un valor decimal al entero más próximo. 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 decimal Round( decimal d, MidpointRounding mode )

Parámetros

d

Tipo: System.Decimal Número decimal que se desea redondear.

mode

Tipo: System.MidpointRounding Especificación sobre el redondeo de d si se encuentra a la mitad del intervalo comprendido entre otros dos números.

Valor devuelto

Tipo: System.Decimal El entero más cercano d. Si d se encuentra a la mitad del intervalo entre dos números, uno par y el otro impar, mode determina los dos números que se devuelven.

Excepción

Condición

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

OverflowException

El resultado está fuera del intervalo de Decimal.

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

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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

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

.NET Framework 3.5

Redondea un valor de punto flotante de precisión doble a un número especificado de dígitos fraccionarios.

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

public static double Round( double value, int digits )

Parámetros

value

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

digits

Tipo: System.Int32 Número de dígitos fraccionarios del valor devuelto.

Valor devuelto

Tipo: System.Double Número más cercano a value que contiene varios dígitos fraccionarios iguales a digits.

Excepción

Condición

El parámetro digits especifica el número de dígitos fraccionarios del valor devuelto, que puede oscilar entre 0 y 15. Si el valor de digits es cero, se devuelve un número entero.

El número máximo total de dígitos enteros y fraccionarios que se puede devolver es 15. Si el valor redondeado contiene más de 15 dígitos, se devuelven los 15 dígitos más significativos. Si el valor redondeado contiene 15 dígitos o menos, se devuelven los dígitos enteros y tantos dígitos fraccionarios como se especifiquen en el parámetro digits.

Si el valor de los dígitos de d a la derecha de la posición de digits está a mitad de camino entre el dígito en la posición de digits, se redondea hacia arriba ese dígito si es impar o no se modifica si es par. Si la precisión de d es menor que digits, se devuelve d sin modificar.

El comportamiento de este método sigue el estándar IEEE 754, sección 4. A este tipo de redondeo a veces se le denomina redondeo al entero más próximo o redondeo bancario. Minimiza errores de redondeo resultado de redondear de forma consistente un valor de punto medio en una dirección única. Para controlar el tipo de redondeo utilizado por el método Round(Double, Int32), llame a la sobrecarga Math.Round(Double, Int32, MidpointRounding).

En el siguiente ejemplo de código se muestra el redondeo al entero más próximo.

Math.Round(3.44, 1); //Returns 3.4. Math.Round(3.45, 1); //Returns 3.4. Math.Round(3.46, 1); //Returns 3.5.

Math.Round(4.34, 1); // Returns 4.3 Math.Round(4.35, 1); // Returns 4.4 Math.Round(4.36, 1); // Returns 4.4

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

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

.NET Framework 3.5

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 )

Parámetros

value

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

mode

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

Valor devuelto

Tipo: System.Double 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.

Excepción

Condició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, 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework Compatible con: 3.5, 3.0, 2.0

Math.Round (Método) (Decimal, Int32, MidpointRounding)

.NET Framework 3.5

Redondea un valor decimal a un número especificado de dígitos fraccionarios. Un parámetro especifica cómo se redondea el valor si está a la mitad del intervalo entre otros dos números.

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

public static decimal Round( decimal d, int decimals, MidpointRounding mode

)

Parámetros

Tipo: System.Decimal Número decimal que se desea redondear.

decimals

Tipo: System.Int32 Número de posiciones decimales del valor devuelto.

mode

Tipo: System.MidpointRounding Especificación sobre el redondeo de d si se encuentra a la mitad del intervalo comprendido entre otros dos números.

Valor devuelto

Tipo: System.Decimal Número más cercano a d que contiene varios dígitos fraccionarios iguales a decimals. Si d se encuentra a la mitad del intervalo entre dos números, uno par y el otro impar, mode determina el número que se devuelve. Si el número de dígitos fraccionarios en d es menor que decimals, d se devuelve sin cambios.

Excepción

Condición

decimals es menor que 0 o mayor que 28.

ArgumentException

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

OverflowException

El resultado está fuera del intervalo de Decimal.

El parámetro decimals especifica el número de dígitos fraccionarios del valor devuelto, que puede oscilar entre 0 y 28. Si el valor de decimals es cero, se devuelve un número entero.

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.

// 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

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

.NET Framework 3.5

Redondea un valor de punto flotante de precisión doble al número especificado de dígitos fraccionarios. 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, int digits, MidpointRounding mode

)

Parámetros

value

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

digits

Tipo: System.Int32 Número de dígitos fraccionarios del valor devuelto.

mode

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

Valor devuelto

Tipo: System.Double Número más cercano a value que contiene varios dígitos fraccionarios iguales a digits. Si value se encuentra a la mitad del intervalo entre dos números, uno par y el otro impar, el parámetro mode determina qué número se devuelve. Si la precisión de value es menor que digits, se devuelve value sin modificar.

Excepción

Condición

digits es menor que 0 o mayor que 15.

ArgumentException

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

El parámetro digits especifica el número de dígitos fraccionarios del valor devuelto, que puede oscilar entre 0 y 15. Si el valor de digits es cero, se devuelve un número entero.

El número máximo total de dígitos enteros y fraccionarios que se puede devolver es 15. Si el valor redondeado contiene más de 15 dígitos, se devuelven los 15 dígitos más significativos. Si el valor redondeado contiene 15 dígitos o menos, se devuelven los dígitos enteros y tantos dígitos fraccionarios como se especifiquen en el parámetro digits.

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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.