SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: bezael en Jueves 27 de Enero de 2005, 16:18
-
HOLA, nose ni que decir con esto que me pasa, estoy usando VB 6.0, y solo quiero sumar los valores de dos variables, pero hay momentos en que puede haber decimales, por ej: (157.75 + 100) el resultado deberia ser 257.75, pero el resultado que me devuelve es 257.
que podria hacer con esto ?.
GRACIAS ¡¡
-
Hola Bezael, seguramente es porque tienes en la configuración regional, como separador decimal la"," y no el ".".
Para hacer operaciones usa la instrucción Cdec(variable).
Busca en la ayuda del MSDN por indice "CDec" que lo explica muy bien.
Saludos.
-
:devil:
Hola bezael, has lo siguiente.
mira usa el val(Cajadetexto) y prueba..
Pero has un ejemplo con valores mallores de 1,000.00. ( Suma= val(valor1 )+ val(Valor2)) donde valor1= 1200 y valor2= 850(por Ej). Si te manda (2) en ves de (2,050.00) usa esto[Suma= round(valor1,2) + round(valor2,2)] ya que el val algunas veces es tonto y toma el 1,000 como si fuera (1).
Saludos :scream:
-
Hola de nuevo,
Sólo quiero comentar una cosa de la función Val:
Sacado de la ayuda del MSDN
Nota La función Val sólo reconoce el punto (.) como separador decimal válido. Cuando se utilizan separadores decimales diferentes, como en aplicaciones internacionales, debe utilizar CDbl para convertir una cadena a un número.
Hay que tener mucho cuidado con la función Val(), que hasta que mire la ayuda tuve bastantes problemas en un pc con separador decimal la ",".
De verdad mira la ayuda del MSDN que viene muy bien explicado, el Cdec, CDbl,.....
Saludos.
-
Hola
Es probable que la declaración de tu variable esultante este com Integer
si puede que alguno de los valores no se entero, puedes declararla double
espero sea lo que requieres
saludos
-
:devil:
Hola, no se si no me explique..
Miren
Si en tu caja de texto(u otro tipo de objeto) usas la funcion Format(numero,"###,##0.00") para que el usuario lo vea "BONITO" la funcion Val() es un plomo(para hacer sumas) ya que el toma la coma(,) como si fuera un caracter y no un numero, y de la coma en adelante lo omite.
Por eso puse:
:comp:
Pero has un ejemplo con valores mallores de 1,000.00. ( Suma= val(valor1 )+ val(Valor2)) donde valor1= 1200 y valor2= 850(por Ej). Si te manda (2) en ves de (2,050.00) usa esto[Suma= round(valor1,2) + round(valor2,2)] ya que el val algunas veces es tonto y toma el 1,000 como si fuera (1).
Pero si solo estas usando la caja de texto normal, sin coma osea (1000.34) el val si funciona
Ahora si me explique..?
Saludos