Tema: 2 problemas
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/07/2012, 09:44
jlmn23
 
Fecha de Ingreso: octubre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: 2 problemas

Cita:
Iniciado por alexg88 Ver Mensaje
Buenas,

Hay un pequeño error en el código. La llamada a TryParse tiene que ser la siguiente:

Código C#:
Ver original
  1. if (Double.TryParse(textBox6.Text,out valor1) && Double.TryParse(textBox7.Text, out valor2)
  2. {
  3. importe = (valor1 * valor2 / 100) + valor1;
  4. textBox8.Text = string.Format("{0:f2}",importe / 24);
  5. }

Una vez indicado esto, te explico como funciona.

La llamada Double.TryParse convierte una cadena en un double pero evitando las excepciones que devuelve el método Double.Parse cuando la conversión no se puede realizar.

La llamada tiene el siguiente formato:

Código C#:
Ver original
  1. public static bool TryParse (
  2.     string s,
  3.     out double result
  4. )

Es decir, es un método al que se le pasa la cadena a convertir y devuelve como parámetro de salida un valor double (sólo en caso de que se pueda convertir).

La palabra out indica que un parámetro es de salida, es decir, que puede ser cambiado dentro del método para devolver un valor distinto al pasado.

El método como puedes observar devuelve un valor booleano y devuelve true si la conversión ha sido correcta y false en caso concreto.

De esta manera, Double.TryParse(textBox6.Text,out valor1), devuelve true si la conversión ha sido correcta y la variable valor1 tendrá el valor convertido.

Si juntas las dos expresiones con un && (un and lógico), quiere decir que cuando las dos conversiones sean correctas, entonces realizas el cálculo.

Espero que te haya quedado algo claro.

Saludos.

Para consejo. Es mejor que se utilice try.parse que parse solo para no tener problemas de este tipo por lo que veo. Este lenguaje el c# es buenoi pero a la vez es el mas dificil de coguer el tranquillo de los que yo he programado hasta ahora, nuca he tenido tantos problemas a la hora de aprender un lenguaje de programacion como este.