redendo

08/10/2004 - 01:36 por Permingeat Carlos | Informe spam
Hola amigos :

como puedo redondear un numero de tres decimales optener 2

ej : 9,459 x 9,46

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
08/10/2004 - 03:58 | Informe spam
"Permingeat Carlos" escribió en el mensaje
news:


Hola amigos :

como puedo redondear un numero de tres decimales optener 2

ej : 9,459 x 9,46



Hola, Carlos:

Dim a as Double = 9.459
r = System.Math.Round(a, 2)
Console.WriteLine(r)

Hay una formulita útil para redondear un número cualquiera a un múltiplo de
cualquier factor f (cuando redondeas a 2 decimales, f = 0.01).

Public Function ForzarMultiplo(numero As Double, factor As Double)
Return System.Math.Floor(numero / factor + 0.5) * factor
End Function

r = ForzarMultiplo(9.459, 0.01)
Console.WriteLine(r)
r = ForzarMultiplo(17, 3)
Console.WriteLine(r)
r = ForzarMultiplo(16, 3)
Console.WriteLine(r)

Forzar los redondeos en las representaciones internas de los numeros puede
producir un efecto acumulativo de perdida de precisión en series de
operaciones.

A menos que tengas una excelente razón para redondear, lo mejor es hacerlo
solo a nivel de presentación. Para ello puedes utilizar la función ToString.

r = 9.456
Console.WriteLine(r.ToString("#,##0.00"))

o incluso, cuando vas a escribir hacia la consola o a formatear una cadena
de salida, puedes utilizar especificaciones como
Console.WriteLine("El valor de {0} redondeado a 2 decimales es
{0:#,##0.00}", r, r)

o si quieres copiar los datos formateados a una cadena, puedes escribir:
s = String.Format("El valor de {0} redondeado a 2 decimales es
{0:#,##0.00}", r, r)
Console.WriteLine(r)

Salud!

Leonardo
mvp vb
Respuesta Responder a este mensaje
#2 Permingeat Carlos
09/10/2004 - 13:04 | Informe spam
Todo ok. muchas gracias Leo ...

"Leonardo Azpurua" <l e o n a r d o (arroba) m v p s (punto) o r g> escribió
en el mensaje news:

"Permingeat Carlos" escribió en el mensaje
news:
>
>
> Hola amigos :
>
> como puedo redondear un numero de tres decimales optener 2
>
> ej : 9,459 x 9,46

Hola, Carlos:

Dim a as Double = 9.459
r = System.Math.Round(a, 2)
Console.WriteLine(r)

Hay una formulita útil para redondear un número cualquiera a un múltiplo


de
cualquier factor f (cuando redondeas a 2 decimales, f = 0.01).

Public Function ForzarMultiplo(numero As Double, factor As Double)
Return System.Math.Floor(numero / factor + 0.5) * factor
End Function

r = ForzarMultiplo(9.459, 0.01)
Console.WriteLine(r)
r = ForzarMultiplo(17, 3)
Console.WriteLine(r)
r = ForzarMultiplo(16, 3)
Console.WriteLine(r)

Forzar los redondeos en las representaciones internas de los numeros puede
producir un efecto acumulativo de perdida de precisión en series de
operaciones.

A menos que tengas una excelente razón para redondear, lo mejor es hacerlo
solo a nivel de presentación. Para ello puedes utilizar la función


ToString.

r = 9.456
Console.WriteLine(r.ToString("#,##0.00"))

o incluso, cuando vas a escribir hacia la consola o a formatear una cadena
de salida, puedes utilizar especificaciones como
Console.WriteLine("El valor de {0} redondeado a 2 decimales es
{0:#,##0.00}", r, r)

o si quieres copiar los datos formateados a una cadena, puedes escribir:
s = String.Format("El valor de {0} redondeado a 2 decimales es
{0:#,##0.00}", r, r)
Console.WriteLine(r)

Salud!

Leonardo
mvp vb


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida