• Lunes 23 de Diciembre de 2024, 14:35

Autor Tema:  Round, Me Falla  (Leído 1855 veces)

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Round, Me Falla
« en: Viernes 14 de Mayo de 2004, 19:10 »
0
Hola, quisiera que me ayuden con este problema que tengo, con unos datos al final uso la funcion round, pero este me devuelve un valor que no me lo esperaba, actualmente tengo el Visual Basic Profesional, y ademas le instale el Service Pack 5, ya casi terminaba el programa y por suerte me di cuenta, bueno les muestro un ejemplo:

'Omito declaraciones y demas vainas
Aux = 2,7
Aux = 2,7/100        '0.027
Aux = Aux * 17      '0.459
Aux = Round(Aux,1)    'Me devuelve 0.3 deberia devolverme 0.4


'Aqui les doy otro ejemplo solo con numeros
introduzco 99.89
(99.89/100) * 16 = 15.9824

Me devuelve 15.8 deberia devolverme 16

'Creo que doy muchas vueltas con el codigo, lo coloque asi solo para el ejemplo

Alguien ayudeme por favor, porque falla el Round, o sera necesario que realize una funcion que reemplaze al Round, alguien tiene alguna idea

Salu2
 :hola:  :comp:  :hola:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Juan C

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Round, Me Falla
« Respuesta #1 en: Sábado 15 de Mayo de 2004, 01:11 »
0
Kev:
Creo que el problema que tienes es por el tipo de variable con que estas declarando aux, porque en el primer ejemplo que colocas en realidad te debería de dar 5, ni 4 ni 3.

Prueba con diferentes tipos de variables.

Si colocas aux=round(aux,1), le dices que después del punto tome 1 decimañ y al ser este el valor de 5 te toma el que sigue osea el valor de aux debe ser 5.

Espero te funcione.

Saludos

Juan Carlos

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Round, Me Falla
« Respuesta #2 en: Sábado 15 de Mayo de 2004, 08:16 »
0
Hola Kev.

Round redondea 'hacia abajo', es decir 14,85 lo redondeará como 14,8 y 14,86 como 14,9.

Puedes utilizar la función Format: Format(14.85, "#,##0.0") devolverá 14,9

Imagino que ya lo has tenido en cuenta... el redondeo puede ser causa frecuente de errores en el importe total de por ejemplo una factura: en el caso de los euros, cada línea de factura debe calcularse multiplicando la cantidad por el precio redondeado con 3 decimales (en algunos casos a más) y el importe del total de la factura es la suma del importe de cada una de las líneas redondeada a 2.

Suerte.

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Round, Me Falla
« Respuesta #3 en: Lunes 17 de Mayo de 2004, 18:37 »
0
Gracias por contestar, es verdad, tendria que dar 5.

Tomare en cuneta sus sugerencias, les comento como me fue.

Salu2

 :hola:  :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax