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

Preguntas similare

Leer las respuestas

#6 Octavio Hernandez
31/08/2006 - 12:14 | Informe spam
Perdón, ¡qué mal estoy hoy!
La última línea debe ser:

res = tmp1 + 0.1;

Slds - Octavio


"Octavio Hernandez" escribió en el mensaje
news:
Perdón, interpreté mal tu pregunta. Creo que la solución correcta es algo
como lo siguiente:

// entrada: valor - salida: res
decimal tmp1 = decimal.Round(valor, 1);
decimal tmp2 = valor - tmp1;
if (tmp2 < 0.045m)
res = tmp1;
else if (tmp2 >= 0.045m && tmp2 < 0.055m)
res = tmp1 + 0.05;
else // tmp2 >= 0.055
res = valor + 0.1;

Slds - Octavio


"mickro" escribió en el mensaje
news:e2a%
Hola, de hecho ya habia visto esta enumeracion, pero aun usandola no he
obtenido el resultado que quiero. Esto es lo que hize:

decimal.Round(2.585m, 2, MidpointRounding.AwayFromZero);

y obtengo 2.59, lo que quiero obtener es 2,60. Y, por ejemplo, con el
numero 2,43, tendria que obtener 2,45.



"MalKaViAN_NeT" escribió en el
mensaje news:
puedes usar Math.round mandandole el nro, el tamaño de los decimales y
tambien puedes añadir el parametro midpointRounding que es una
enumeración
que te da opcion a manejar lo que intentas hacer busca sobre eso

salu2
MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro/

"mickro" wrote:

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













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