Redondeo

31/08/2006 - 02:49 por mickro | Informe spam
Hola amigos, tengo una duda.
Tengo un variable del tipo decimal en la cual tengo el siguiente valor:
2,585.

Mi pregunta es, como hago para obtener el valor 2,60??, si la redondeo
usando el metodo decimal.Round(2.585m, 2) me devuelve 2,58. Si la quiero
redondear con String.Format("c"), obtengo 2,59

Es para un programa de facturacion (POS) y necesito redondear a 0 o 5, ya
que no puedo cobrarle al cliente $ 2,59, sino $ 2,60. Saludos y gracias de
antemano
 

Leer las respuestas

#1 Hugo Nugra
31/08/2006 - 01:02 | Informe spam
No estoy seguro de lo que intentas decir con "necesito redondear a 0 o 5",
pero interpreto que te sirven únicamente valores como 2.60, 2.65 o 2.70,
ningún otro valor intermedio.

Que tal esto:

decimal valor = 2.585M
decimal respuesta

respuesta = (decimal)(decimal.Round(valor, 1) < valor ? decimal.Round(valor,
1) + 0.05 : decimal.Round(valor, 1))

Preguntas similares