Autor Tema: Problema con decimales al hacer calculos  (Leído 2984 veces)

0 Usuarios y 1 Visitante están viendo este tema.

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Problema con decimales al hacer calculos
« 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?
« última modificación: Mayo 05, 2010, 09:40:18 pm por lucius »

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Problema con decimales al hacer calculos
« Respuesta #1 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" ;)

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Problema con decimales al hacer calculos
« Respuesta #2 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