Programación General > Visual Basic para principiantes
conservar el valor decimal
(1/1)
kelmax:
Tengo que hacer unos calculos con decimales pero al pasar el valor del txtbox a una variable lo redondea y me descuadra el resultado final.
el valor del text1 789.56 (ingresado por usuario)
y la variable queda var1= 789
var1=val(text1.text)
necesito que conserve el valor original (en este caso 789.56), var1 esta declarada como double.
Nebire:
El contenido de un textbox es una cadena de texto. Cuando haces un 'val' interpreta la cadena como un valor numérico hasta donde pueda hacerlo.
En este punto vb interpreta un punto dentro de una cadena de texto como no numérico, por eso te toma sólo la parte entera.
Hay 2 opciones:
A ) Remplazar la coma por un punto
--- Código: Visual Basic --- dim var1 as doubleText1.text= "789,56"text1.text= replace$(text1.text,",",".",1,1) ' sólo cambiamos la primera coma encontradovar1=val(text1.text)msgbox var1 en este caso habiendo una coma en el texto si no se remplaza haría esto:
text1.text="789,56"
...
msgbox var1 resultado= 789
B ) Eliminar la función val, forzando a que se realice una conversión implícita .
--- Código: Visual Basic --- dim var1 as doubleText1.text= "789,56"var1= text1.textmsgbox var1 En este caso si hubiera 1 punto en vez de una coma haría esto:
text1.text="789.56"
...
msgbox var1 resultado= 78956
Navegación
Ir a la versión completa