Visual Basic - Redondeos

Life is soft - evento anual de software empresarial
   
Vista:

Redondeos

Publicado por agusti (41 intervenciones) el 21/08/2008 18:18:40
Hola de nuevo

Alguien me puede decir cómo redondear decimales del siguiente modo:

Si el valor en 10.20 redondearía a 10.00 pero si és 10.30 redondearía a 10.50. Es decir, quiero redondear a la mitad de punto.

Gracias
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

RE:Redondeos

Publicado por igor (633 intervenciones) el 21/08/2008 18:37:37
Esto no es lo mejor, pero para lo agradecido que eres es lo que hay.

Dim a As Double
Dim b As Double
b = a - Int(a)
Select Case b
Case 0 To 0.24
a = Int(a)
Case 0.25 To 0.49
a = Int(a) + 0.25
Case 0.5 To 0.74
a = Int(a) + 0.5
Case 0.75 To 0.99
a = Int(a) + 0.75
End Select
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

RE:Redondeos

Publicado por agusti (41 intervenciones) el 21/08/2008 18:42:04
OK, GRACIAS DE NUEVO
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

RE:Redondeos

Publicado por pacopaz (173 intervenciones) el 21/08/2008 18:58:41
O algo más simple, no importando el nivel de agradecimiento:

(Fix(([Número] * 2) + 0.5)) / 2

donde
[Número] es el número que quieres redondear.
En este caso, el 0.25 lo redondea a 0.5 Si esto es incorrecto, cambia en la fórmula el 0.5 por 0.499 y tantos 9's como haga falta.

Espero que te sirva.

Saludos.
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

RE:Redondeos

Publicado por agusti (41 intervenciones) el 21/08/2008 19:52:58
GENIAL!!!

Cuanto menos fórmulas mejor

Muchas gracias por tu ayuda
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

RE:Redondeos

Publicado por igor (633 intervenciones) el 21/08/2008 19:02:00
No se cual es mejor, pero igual te sirve como nuevo punto de vista.

Dim Num As Integer
Dim Dec As Integer
Num = 1080
Dec = (Num Mod 100) * 2
Dec = Round(Dec / 100) * 50
Num = (Int(Num / 100) * 100) + Dec

Un saludo.
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

RE:Redondeos

Publicado por agusti (41 intervenciones) el 21/08/2008 19:50:44
OK
Muchas gracias, me gusta más esta opción que la primera que me diste

Saludos
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

RE:Redondeos

Publicado por pablo (1 intervención) el 07/04/2009 22:32:08
chicos son unos genios me servio mucho lo que volcaron en estan paginas

saludos
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