Tema: 2 problemas
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/07/2012, 08:45
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: 2 problemas

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.