Visual Basic - Problemas con val() y Format number

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con val() y Format number

Publicado por SiC (27 intervenciones) el 20/01/2004 00:26:19
Tengo un pequeño problema al usar el val y format number, la cosa esta algo asi, tengo varios textbox que presentan los numeros con un formato con dos decimales para ello ocupo FormatNumber(variabble,2).

Luego necesito hacer operaciones (sumas principalmente) con estos por lo cual ocupo (val(textbox1.text) y luego los opero, el problema se me da cuando el numero es mayor o igual que mil porque en ves de mil me pone 1

Porque se podria dar ese error, y como puedo solucionarlo muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con val() y Format number

Publicado por Pedro Luis (878 intervenciones) el 20/01/2004 15:09:05
El porqué está claro, el punto de los miles lo toma como decimal, de forma que val(1.234'45)=1
La solucion con formatnumber no la veo, ¿pero has probado a hacerlo directamente? osea Variable *2 , aunque variable sea texto. Igual te sorprendes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con val() y Format number

Publicado por SiC (27 intervenciones) el 20/01/2004 20:59:34
Ok si ya probe hacerloa asi el problema es que hago una suma de dos textbox y eso me da como resultado una concatenacion enves de la suma por ejemplo si tengo 0.50 + 1.20 me da 0.501.20 y no se como corregirlo...aunque se me esta ocurriendo que que pasaria si multiplicara todos los valores * 1 antes de sumarlos talves funcione Gracias de todos modos y cualquier ayuda sera bienvenida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con val() y Format number

Publicado por PruebaEsta (3 intervenciones) el 21/01/2004 23:29:16
Mira yo tenia el mismo problema que tu, esto se debe a que el val solo puede trabajar con estructuras reconocidas como numericas, si por algun motivo el detecta una coma u otro caracter despues de un numero entonces corta hasta el primer numero significativo y es eso lo que te devuelve.
Ejemplo
Val("2b6") = 2
Val("2.5") = 2.5
Val("2,5")=2
Val("2,000,001.25") = 2
O sea que en el formato de números la coma u otro caracter que no sea numeros o puntos son tomados encuenta y el corta la transformación hasta el primer numero significativo.
Ahora lo que yo hago para solventar este problema es usar un convertidor que es distinto al val y que si reconocen la coma como parte de un numero.
CCur("1,000") = 1000.0000 'Dando mayor presición en el uso de decimales
CDbl(), CSng(), CLng(), CInt()
Prueba con estos convertidores a ver como te va.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar