Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: lucius en Mayo 05, 2010, 07:57:55 pm

Título: Problema con decimales al hacer calculos
Publicado por: lucius en Mayo 05, 2010, 07:57:55 pm
Para resumir quiero hacer este calculo tan simple
Hago esto:

Código: [Seleccionar]
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?
Título: Re:Problema con decimales al hacer calculos
Publicado por: raul338 en Mayo 06, 2010, 09:35:48 am
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" ;)
Título: Re:Problema con decimales al hacer calculos
Publicado por: lucius en Mayo 07, 2010, 09:37:49 pm
bien!, con eso lo solucione.
No tenia idea de que la funcion val siempre utiliza el punto(0.00) como decimal