Visual Basic.NET - Redondeo de numeros decimales

   
Vista:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo

Redondeo de numeros decimales

Prueba con Math.Round();

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Redondeo de numeros decimales

Publicado por Arturo (86 intervenciones) el 21/06/2017 15:55:28
Yo hago lo siguiente y hasta la fecha me lo hace bien:

Se supone que numero1 esta definido como doublé

numero1.tostring("F2")

y

(suma de 21 + numero2).tostring("F2")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar