Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Anular redondeo

Estas en el tema de Anular redondeo en el foro de Visual Basic clásico en Foros del Web. Hola amigos, ¿alguien sabe como anular el redondeo cuando se realizan cálculos con VB?. Gracias por la lectura y quedo a la espera de alguna ...
  #1 (permalink)  
Antiguo 12/03/2009, 12:22
rdm
 
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 57
Antigüedad: 20 años, 5 meses
Puntos: 0
Anular redondeo

Hola amigos, ¿alguien sabe como anular el redondeo cuando se realizan cálculos con VB?. Gracias por la lectura y quedo a la espera de alguna respuesta.

Saludos.
  #2 (permalink)  
Antiguo 12/03/2009, 12:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Anular redondeo

Depende del cálculo que estás haciendo. ¿A qué redondeo te refieres? Ya que si calculas con un Double no redondea (claro, salvo que lo que quieras con una precisión extremada)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/03/2009, 12:44
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Anular redondeo

A ver si entiendo lo que quieres. Quieres anular redondeo entonces trabaja con numeros enteros.

Ejemplo:

a = 1.55
a = int(1.55)

print a 'Imprime 1
  #4 (permalink)  
Antiguo 12/03/2009, 20:53
rdm
 
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 57
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Anular redondeo

aclaro un poquito el problema. Tengo un cálculo que arroja el siguiente resultado: 4.236 y estoy usando un format$ para mostrar dos dígitos decimales, no quiero que el segundo dígito se redondee, lo que quiero obtener es lisa y llanamente 4.23 y no un 4.24, producto del redondeo. Otro ejemplo, tengo una operación que hecha con la calculadora me tira 700.00 pesos, pero, producto de los decimales que intervienen en la operatoria, se me presenta el siguiente resultado: 700.01 lo cual no es correcto ya que si realizo las sumas con una calculadora, ingresando solo dos decimales para cada sumando, obtengo exactamente los 700.00 y no los 700.01, ahora bien, este .01 que aparece aquí es porque la sumatoria dentro de la variable que estoy usando arroja 700.0076 y el 7 es el que me genera el error ya que al redondearse, me pasa a 700.01.

Bueno, espero haber clarificado un poquito este tema, gracias por las respuestas y si tienen alguna nueva sugerencia, les agradeceré un montón.

Saludos
  #5 (permalink)  
Antiguo 12/03/2009, 21:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Anular redondeo

Una forma algo chapucera sería tratarlo como una cadena y cortar directamente la parte decimal, algo como esto:
Código vb:
Ver original
  1. Valor = 237.067
  2. Valor = Val(Fix(Valor) & "." & Left(Split(CStr(Valor), ",")(1), 2))
  3. MsgBox Valor
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 12/03/2009, 21:28
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Anular redondeo

Cita:
Iniciado por David el Grande Ver Mensaje
Una forma algo chapucera sería tratarlo como una cadena y cortar directamente la parte decimal, algo como esto:
Código vb:
Ver original
  1. Valor = 237.067
  2. Valor = Val(Fix(Valor) & "." & Left(Split(CStr(Valor), ",")(1), 2))
  3. MsgBox Valor
jeje lo mismo que hiba a poner yo...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #7 (permalink)  
Antiguo 16/03/2009, 15:50
rdm
 
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 57
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Anular redondeo

Entiendo la idea, vamos a probar. Muchas gracias por el cable.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:55.