Redondeo de numeros decimales
Publicado por Anakin (1 intervención) el 16/06/2017 12:51:59
Buenos días,
Codifico en vb.net, con el 2010 ultimate, ando haciendo unas practicas, y me ha surgido un problema con el redondeo de decimales, os cuento.
pongamos dos ejemplos:
ejemplo 1:
numero 1: 120,69
21% de numero 1: 25,3449
suma de 21 + numero 1: 146,0349
entonces este 146,0349, redondeado a 2 decimales debería darme 146,04
ejemplo 2:
numero 2: 87,54
21% de numero 2: 18,3834
suma de 21 + numero2: 105,9234
entonces este 105,9234, redondeado a 2 decimales debería darme 105,92
El problema es que no se encuentrar un metodo que me solucione este problema.
Si uso el floor, queda así:
numero1: 146,03
numero2:105,92
Si uso el ceiling, queda así:
numero1: 146,04
numero2: 105,93
Lo que necesito es un redondeo según el caso, es decir que si el decimal es mayor o igual a 5 incremente el decimal anterior en 1, pero si no lo es lo deje igual i quite ese decimal hasta dejarlo en 2 décimas que es lo que necesito.
Nose si me he explicado bien... gracias de antemano.
Codifico en vb.net, con el 2010 ultimate, ando haciendo unas practicas, y me ha surgido un problema con el redondeo de decimales, os cuento.
pongamos dos ejemplos:
ejemplo 1:
numero 1: 120,69
21% de numero 1: 25,3449
suma de 21 + numero 1: 146,0349
entonces este 146,0349, redondeado a 2 decimales debería darme 146,04
ejemplo 2:
numero 2: 87,54
21% de numero 2: 18,3834
suma de 21 + numero2: 105,9234
entonces este 105,9234, redondeado a 2 decimales debería darme 105,92
El problema es que no se encuentrar un metodo que me solucione este problema.
Si uso el floor, queda así:
numero1: 146,03
numero2:105,92
Si uso el ceiling, queda así:
numero1: 146,04
numero2: 105,93
Lo que necesito es un redondeo según el caso, es decir que si el decimal es mayor o igual a 5 incremente el decimal anterior en 1, pero si no lo es lo deje igual i quite ese decimal hasta dejarlo en 2 décimas que es lo que necesito.
Nose si me he explicado bien... gracias de antemano.
Valora esta pregunta
0