Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: lucius en Mayo 05, 2010, 07:57:55 pm
-
Para resumir quiero hacer este calculo tan simple
Hago esto:
Private Sub Command1_Click()
MsgBox Format(Val("100,52") * Val(1), "currency")
End Sub
Los decimales se pierden cuando en lugar de punto(0.00) se utiliza coma(0,00) por ejemplo.
MsgBox Format(Val("100.52") * Val(1), "currency")
resultado=100.52
MsgBox Format(Val("100,52") * Val(1), "currency")
resultado=100.00
Se pierden 0.52, logicamente el valor 100.52 se ingresara desde un Text1 y como sabran la configuracion regional varia en los distintos paises algunos utilizan coma y otro punto, como hacer algo generico ya que solo funciona al utilizar punto, pueden probar en su computador haber que resultado les sale?
-
Es porque utilizas la funcion Val, y esta precisamente devuelve un entero!
Usa la funcion CDbl para convertirlo en un Double y conserve "la coma" ;)
-
bien!, con eso lo solucione.
No tenia idea de que la funcion val siempre utiliza el punto(0.00) como decimal