formato de numeros y fechas en vs

42
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 Parámetros 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. Valores 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 Utilice formatos numéricos predefinidos o cree formatos numéricos definidos por el usuario . Fechas y horas Utilice formatos de fecha y hora predefinidos o cree formatos de fecha y hora definidos por el usuario . 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

Upload: junior-velasquez-salazar

Post on 14-Dec-2015

17 views

Category:

Documents


8 download

DESCRIPTION

hols

TRANSCRIPT

Page 1: Formato de Numeros y Fechas en Vs

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

Parámetros

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.

Valores

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úmerosUtilice formatos numéricos predefinidos o cree formatos numéricos definidos por el usuario.

Fechas y horasUtilice formatos de fecha y hora predefinidos o cree formatos de fecha y hora definidos por el usuario.

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.

Comentarios

Page 2: Formato de Numeros y Fechas en Vs

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.

Ejemplo

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.VBDim 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%")

Requisitos

Page 3: Formato de Numeros y Fechas en Vs

Espacio de nombres:Microsoft.VisualBasic

Módulo:Strings

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

Vea también

Referencia

Resumen de manipulación de cadenasDiferentes formatos para diferentes valores numéricos (Función Format)

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 seccionesLa 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"

Page 4: Formato de Numeros y Fechas en Vs

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 cMuestra 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 fMuestra al menos un dígito a la izquierda y dos a la derecha del separador de decimales.

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

PercentMuestra 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 pMuestra 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 dMuestra 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 xMuestra 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.

Notas para desarrolladores de dispositivos inteligentes

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:

Page 5: Formato de Numeros y Fechas en Vs

Nombre de formato

Descripción

General Dateo bien G

Muestra una fecha o una hora. Por ejemplo: 3/12/2008 11:07:31 AM. El formato de fecha depende del valor de la referencia cultural actual de la aplicación.

Long Date, Medium Date o D

Muestra una fecha de acuerdo con el formato de fecha larga vigente en la referencia cultural actual. Por ejemplo: Wednesday, March 12, 2008.

Short Dateo bien d

Muestra una fecha de acuerdo con el formato de fecha corta vigente en la 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. Para obtener más información, vea Formatos de fecha y hora definidos por el usuario (Función Format).

Long Time, Medium Time o T

Muestra una hora de acuerdo con el formato de hora larga vigente en la referencia cultural actual; e incluye normalmente horas, minutos y segundos. Por ejemplo: 11:07:31 AM.

Short Time - O bien - t

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

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).

fMuestra 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.

FMuestra 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.

gMuestra 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.

M, m

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

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

Page 6: Formato de Numeros y Fechas en Vs

usuario. Para obtener más información, vea Formatos de fecha y hora definidos por el usuario (Función Format).

uDa formato a la fecha y la hora como un índice GMT ordenable. Por ejemplo: 2008-03-12 11:07:31Z.

UDa formato como GMT a la fecha larga y la hora larga. Por ejemplo: Wednesday, March 12, 2008 6:07:31 PM.

Y, y

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

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.

dMuestra 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).

Page 7: Formato de Numeros y Fechas en Vs

MMuestra el mes como un número sin cero a la izquierda (por ejemplo, enero se representa como 1). Utilice %M si es el único carácter en el formato numérico definido por el usuario.

MMMuestra 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.)

hMuestra 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.

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

HMuestra 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.

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

mMuestra 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.

mmMuestra los minutos como un número con ceros a la izquierda (por ejemplo, 12:01:15).

sMuestra 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.

ssMuestra los segundos como un número con ceros a la izquierda (por ejemplo, 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.

tt

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.

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

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

Page 8: Formato de Numeros y Fechas en Vs

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.

zMuestra 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.

zzMuestra el desplazamiento de zona horaria con un cero a la izquierda (por ejemplo, -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.

Ejemplo

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 MuestraM/d/yy 12/7/58d-MMM 7-Decd-MMMM-yy 7-December-58d MMMM 7 DecemberMMMM yy December 58hh:mm tt 08:50 PMh:mm:ss t 8:50:35 PH:mm 20:50H:mm:ss 20:50:35M/d/yyyy H:mm 12/7/1958 20:50

Notas para desarrolladores de dispositivos inteligentes

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:

Page 9: Formato de Numeros y Fechas en Vs

Carácter DescripciónNinguna Muestra el número sin formato alguno.

(0)

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.

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

Page 10: Formato de Numeros y Fechas en Vs

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.

(E-E+e-e+)

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 marcadores de posición digitales a la izquierda determina el número de dígitos en 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

Page 11: Formato de Numeros y Fechas en Vs

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 (")).

Ejemplo

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

comoZero-length string ("") 5 -5 0.50 5 -5 10.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.500% 500% -500% 50%0.00% 500.00% -500.00% 50.00%0.00E+00 5.00E+00 -5.00E+00 5.00E-010.00E-00 5.00E00 -5.00E00 5.00E-01

Requisitos      

Espacio de nombres:Microsoft.VisualBasic

Módulo:Strings

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

Page 12: Formato de Numeros y Fechas en Vs

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.

Lista de sobrecarga

Nombre Descripción

Round(Decimal) Redondea un valor decimal al entero más próximo.

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

Round(Decimal, Int32)Redondea un valor decimal a un número especificado de dígitos fraccionarios.

Round(Decimal, MidpointRounding)

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.

Round(Double, Int32)Redondea un valor de punto flotante de precisión doble a un número especificado de dígitos fraccionarios.

Round(Double, MidpointRounding)

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.

Round(Decimal, Int32, MidpointRounding)

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.

Round(Double, Int32, MidpointRounding)

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.

Math.Round (Método) (Decimal).NET Framework 3.5

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

Page 13: Formato de Numeros y Fechas en Vs

Espacio de nombres: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static decimal Round(decimal d

)

Parámetros

d

Tipo: System.DecimalNúmero decimal que se desea redondear.

Valor devuelto

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

Excepciones

Excepción Condición

OverflowException El resultado está fuera del intervalo de Decimal.

Comentarios

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).

Ejemplos

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

using System;

Page 14: Formato de Numeros y Fechas en Vs

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 }}

Plataformas

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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static double Round(double a

)

Parámetros

a

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

Valor devuelto

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

Page 15: Formato de Numeros y Fechas en Vs

Comentarios

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).

Ejemplos

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);

}

Page 16: Formato de Numeros y Fechas en Vs

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();

Page 17: Formato de Numeros y Fechas en Vs

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");}

}

Plataformas

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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static decimal Round(decimal d,int decimals

)

Parámetros

d

Tipo: System.DecimalNúmero decimal que se desea redondear.

decimals

Page 18: Formato de Numeros y Fechas en Vs

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

Valor devuelto

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

Excepciones

Excepción Condición

ArgumentOutOfRangeException decimals es menor que 0 o mayor que 28.

OverflowException El resultado está fuera del intervalo de Decimal.

Comentarios

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).

Ejemplos

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.3Math.Round(4.35, 1); // Returns 4.4Math.Round(4.36, 1); // Returns 4.4

Page 19: Formato de Numeros y Fechas en Vs

Plataformas

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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static decimal Round(decimal d,MidpointRounding mode

)

Parámetros

d

Tipo: System.DecimalNúmero decimal que se desea redondear.

mode

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

Valor devuelto

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

Excepciones

Excepción Condición

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

Page 20: Formato de Numeros y Fechas en Vs

OverflowException El resultado está fuera del intervalo de Decimal.

Comentarios

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.

Ejemplos

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.

Page 21: Formato de Numeros y Fechas en Vs

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)

*/

Plataformas

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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static double Round(double value,int digits

Page 22: Formato de Numeros y Fechas en Vs

)

Parámetros

value

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

digits

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

Valor devuelto

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

Excepciones

Excepción Condición

ArgumentOutOfRangeException digits es menor que 0 o mayor que 15.

Comentarios

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).

Page 23: Formato de Numeros y Fechas en Vs

Ejemplos

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.3Math.Round(4.35, 1); // Returns 4.4Math.Round(4.36, 1); // Returns 4.4

Plataformas

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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static double Round(double value,MidpointRounding mode

)

Parámetros

value

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

Page 24: Formato de Numeros y Fechas en Vs

mode

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

Valor devuelto

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

Excepciones

Excepción Condición

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

Comentarios

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.

Ejemplos

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.

Page 25: Formato de Numeros y Fechas en Vs

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)

*/

Plataformas

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

Page 26: Formato de Numeros y Fechas en Vs

.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.

Información de versión

.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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

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

)

Parámetros

d

Tipo: System.DecimalNúmero decimal que se desea redondear.

decimals

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

mode

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

Valor devuelto

Page 27: Formato de Numeros y Fechas en Vs

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

Excepciones

Excepción Condición

ArgumentOutOfRangeException 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.

Comentarios

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.

Ejemplos

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.

Page 28: Formato de Numeros y Fechas en Vs

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)

*/

Plataformas

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

Page 29: Formato de Numeros y Fechas en Vs

.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: SystemEnsamblado: mscorlib (en mscorlib.dll)

Sintaxis

public static double Round(double value,int digits,MidpointRounding mode

)

Parámetros

value

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

digits

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

mode

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

Valor devuelto

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

Page 30: Formato de Numeros y Fechas en Vs

determina qué número se devuelve. Si la precisión de value es menor que digits, se devuelve value sin modificar.

Excepciones

Excepción Condición

ArgumentOutOfRangeException digits es menor que 0 o mayor que 15.

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

Comentarios

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.

Ejemplos

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.

Page 31: Formato de Numeros y Fechas en Vs

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)

*/

Plataformas

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

Page 32: Formato de Numeros y Fechas en Vs

.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.