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

[0] Índice de Mensajes

Ir a la versión completa