SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: bezael en Jueves 27 de Enero de 2005, 16:18

Título: Ayuda Con Decimales
Publicado 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 ¡¡
Título: Re: Ayuda Con Decimales
Publicado por: ebolo en Jueves 27 de Enero de 2005, 16:34
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.
Título: Re: Ayuda Con Decimales
Publicado por: juravi en Jueves 27 de Enero de 2005, 18:37
: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:
Título: Re: Ayuda Con Decimales
Publicado por: ebolo en Jueves 27 de Enero de 2005, 20:59
Hola de nuevo,
Sólo quiero comentar una cosa de la función Val:
Citar
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.
Título: Re: Ayuda Con Decimales
Publicado por: Juan C en Jueves 27 de Enero de 2005, 21:11
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
Título: Re: Ayuda Con Decimales
Publicado por: juravi en Viernes 28 de Enero de 2005, 14:16
: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:
Citar
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