Redondear 2 lugares después de la coma

17/10/2004 - 21:16 por Zenkius | Informe spam
Estoy haciendo operaciones matemáticas que tienen muchos
lugares después de la coma y quisiera redondearlo a sólo 2
lugares.

Cómo puedo lograr esto????

Saludos y muchos Zenkius.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
17/10/2004 - 21:56 | Informe spam
Hola,

Utiliza el método Decimal.Round:

http://msdn.microsoft.com/library/d...dtopic.asp

Salu2,

Octavio

"Zenkius" escribió en el mensaje
news:1b3101c4b47d$ca5bebf0$
Estoy haciendo operaciones matemáticas que tienen muchos
lugares después de la coma y quisiera redondearlo a sólo 2
lugares.

Cómo puedo lograr esto????

Saludos y muchos Zenkius.
Respuesta Responder a este mensaje
#2 Octavio Hernandez
17/10/2004 - 22:05 | Informe spam
Si estás utilizando valores double, utiliza Math.Round(),

http://msdn.microsoft.com/library/d...dTopic.asp

Slds,

Octavio

"Zenkius" escribió en el mensaje
news:1b3101c4b47d$ca5bebf0$
Estoy haciendo operaciones matemáticas que tienen muchos
lugares después de la coma y quisiera redondearlo a sólo 2
lugares.

Cómo puedo lograr esto????

Saludos y muchos Zenkius.
Respuesta Responder a este mensaje
#3 Javier
18/10/2004 - 12:48 | Informe spam
pero depende de lo que quiera redondear ¿no? porque por lo que he visto de
ese metodos, si tenemos por ejemplo el numero 2,455 y queremos redondearlo a
2 decimales, este nos lo deja en 2.45, pero si estamos trabajando con euros,
deberia de redondear a 2.46 porque por lo que tengo entendido, la regla de
redondeo del euro es la siguiente

EL TERCER DECIMAL
ES: 5, 6, 7, 8 o 9 SUMAR
UN CENT (0,01)

EL TERCER DECIMAL
ES: 1, 2, 3, o 4 NO SUMAR
UN CENT (0,01)


por lo cual ese metodo es "correcto" para redondear numeros, pero no
importes de euro.


"Octavio Hernandez" escribió en el mensaje
news:

Si estás utilizando valores double, utiliza Math.Round(),

http://msdn.microsoft.com/library/d...dTopic.asp

Slds,

Octavio

"Zenkius" escribió en el mensaje
news:1b3101c4b47d$ca5bebf0$
Estoy haciendo operaciones matemáticas que tienen muchos
lugares después de la coma y quisiera redondearlo a sólo 2
lugares.

Cómo puedo lograr esto????

Saludos y muchos Zenkius.







begin 666 FLECHA_OMIC_EURO_DERECHA.gif
M1TE&.#EA% `*`,0``/___R216X+!HLKDUS2:9S*99=+IW7B[F2B47B.066ZW
MDJW6P2>27>3RZS"79(+ H2"/5U>K@;W>SO?[^2Z78MSNY87"I(# H!^/5S"8
M8XW'J?K\^X7"HS^?;_3Y]R626RP`````% `*`$ %1" @CJ18E6@*2,I0&E @
MSS12W$C';2HY!(7%9-2X"(Y(I$51<! ./13+12HFK\M"!A%IB&"T<,"F_1P,
+T='/@`#L`
`
end
Respuesta Responder a este mensaje
#4 Octavio Hernandez
18/10/2004 - 16:19 | Informe spam
Javier,

Asunto interesante. Efectivamente, habría que tener cuidado.

El sistema de redondeo que usa Decimal.Round() es el "del banquero", que en
caso de equidistancia siempre devuelve la última cifra par. En el caso que
mencionas, creo que 2,455 redondeado a 2 decimales producirá 2,46, porque 6
es par mientras que 5 es impar. Pero 2,345 se redondeará a 2,34 y no a 2,35,
como debería ser si esa regla del euro que mencionas es así.

La idea de algoritmo del banquero es que cuando se sumen varios números
redondeados de esa forma algunas veces se aumente y otras se disminuya para
"compensar", mientras que el algoritmo del euro que mencionas siempre
sumaría hacia arriba...

He encontrado un buen enlace sobre métodos de redondeo, aunque no hecho para
.NET:

http://support.microsoft.com/defaul...mp;SD=MSKB

Ahora estoy buscando alguna directiva oficial de la Comunidad Europea, Banco
de España o algo así que mencione el tema. Si conoces alguno...

Salu2 - Octavio

"Javier" escribió en el mensaje
news:%23g0K6$
pero depende de lo que quiera redondear ¿no? porque por lo que he visto de
ese metodos, si tenemos por ejemplo el numero 2,455 y queremos redondearlo


a
2 decimales, este nos lo deja en 2.45, pero si estamos trabajando con


euros,
deberia de redondear a 2.46 porque por lo que tengo entendido, la regla de
redondeo del euro es la siguiente

EL TERCER DECIMAL
ES: 5, 6, 7, 8 o 9 SUMAR
UN CENT (0,01)

EL TERCER DECIMAL
ES: 1, 2, 3, o 4 NO SUMAR
UN CENT (0,01)


por lo cual ese metodo es "correcto" para redondear numeros, pero no
importes de euro.


"Octavio Hernandez" escribió en el mensaje
news:
>
> Si estás utilizando valores double, utiliza Math.Round(),
>
>


http://msdn.microsoft.com/library/d...dTopic.asp
>
> Slds,
>
> Octavio
>
> "Zenkius" escribió en el mensaje
> news:1b3101c4b47d$ca5bebf0$
> Estoy haciendo operaciones matemáticas que tienen muchos
> lugares después de la coma y quisiera redondearlo a sólo 2
> lugares.
>
> Cómo puedo lograr esto????
>
> Saludos y muchos Zenkius.
>
>
>



Respuesta Responder a este mensaje
#5 Octavio Hernandez
18/10/2004 - 16:36 | Informe spam
- He visto que en .NET 2.0 el método Round() tendrá un parámetro adicional,
MidpointRounding, indicando la manera de redondear los valores
equidistantes:

http://msdn2.microsoft.com/library/9s0xa85y.aspx

- En cuanto a directivas europeas, no encuentro nada... La impresión que me
da es que eso se deja a decisión de los países, por ejemplo ahora Finlandia
se ha montado su propia regla para librarse de las monedas de 1 y 2
céntimos.

Si alguien de la lista tiene experiencia en el tema...

Slds - Octavio

"Javier" escribió en el mensaje
news:%23g0K6$
pero depende de lo que quiera redondear ¿no? porque por lo que he visto de
ese metodos, si tenemos por ejemplo el numero 2,455 y queremos redondearlo


a
2 decimales, este nos lo deja en 2.45, pero si estamos trabajando con


euros,
deberia de redondear a 2.46 porque por lo que tengo entendido, la regla de
redondeo del euro es la siguiente

EL TERCER DECIMAL
ES: 5, 6, 7, 8 o 9 SUMAR
UN CENT (0,01)

EL TERCER DECIMAL
ES: 1, 2, 3, o 4 NO SUMAR
UN CENT (0,01)


por lo cual ese metodo es "correcto" para redondear numeros, pero no
importes de euro.


"Octavio Hernandez" escribió en el mensaje
news:
>
> Si estás utilizando valores double, utiliza Math.Round(),
>
>


http://msdn.microsoft.com/library/d...dTopic.asp
>
> Slds,
>
> Octavio
>
> "Zenkius" escribió en el mensaje
> news:1b3101c4b47d$ca5bebf0$
> Estoy haciendo operaciones matemáticas que tienen muchos
> lugares después de la coma y quisiera redondearlo a sólo 2
> lugares.
>
> Cómo puedo lograr esto????
>
> Saludos y muchos Zenkius.
>
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida