Programación General > Visual Basic para principiantes
Paso De Grados Fahrenheit A Celsius
BoRJiS182:
y para escribir lo de grados fahrenheit y que me los pase a grados centigrados?
Es que lo que tengo escrito funciona...pero hay veces que me da demasiados decimales y me sale el error ese que ya cité...
Muchisimas gracias por la ayuda y siento las molestias!!!!!!!!!!!
albertovicat:
Te sugiero usar "round", a la que le podés especificar cuantos decimales querés como segundo argumento, después de una coma:
print round(123.5576878,2)
123.56
Fix e Int solo te devuelven la parte entera del número.
Saludos. :hola:
BoRJiS182:
muchas gracias!!eso como lo tendría que introducir en el codigo???en que parte y como?por que hay muchos casos de decimales...entonces no se como utilizarlo.
Muchas gracias!
albertovicat:
Bueno... pues, honestamente no he mirado a fondo tu código, pero veamos esta parte:
Private Sub txtCent_Change()
txtCent.Text = Val(txtCent.Text)
txtFahr.Text = 32 + 1.8 * Val(txtCent.Text)
vsbTemp.Value = Val(txtCent.Text)
End Sub
... sería:
Private Sub txtCent_Change()
txtCent.Text = Val(txtCent.Text)
txtFahr.Text = Round(32 + 1.8 * Val(txtCent.Text),2)
vsbTemp.Value = Val(txtCent.Text)
End Sub
... si es que con 2 decimales te es suficiente, sino le pones la cantidad que te haga falta.
Suerte. :hola:
Mollense:
No he probado los códigos que han puesto pero me parece que cuando el usuario ingresa un valor en un campo, por ejemplo txtCent, por lógica se ejecuta el evento txtCent_Change(), esto va a cambiar el valor de txtFahr, lo que desencadenará el evento txtFahr_Change() y al estar redondeado el valor de txtFahr la conversión a celsius no va a dar el mismo valor que ingresó el usuario por lo que txtCent cambia su valor y vuelve el evento txtCent_Change(), luego txtFahr_Change() y sigue hasta desbordar la pila.
Mi consejo es que utilices un botón para cada conversión en vez de usar los eventos de los campos.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa