none
Si escribo un punto me da una cantidad diferente a si escribo una coma RRS feed

  • Pregunta

  • Buenas tengo este problema al escribir en un textbox ej:17.7 y hace la formula me da distinto resultado a si escribo 17,7 no se por que y no se solucionarlo para que escriba lo que escriba siempre me de el mismo resultado

    Muchas gracias y un saludo

    Dim Df As Double = TextBox4.Text
            Dim Temp_Mosto As Double = TextBox3.Text * 1.8 + 32
            Dim Temp_Calibracion As Double = TextBox5.Text * 1.8 + 32
            Label19.Text = Temp_Mosto
            Label21.Text = Temp_Calibracion
            Label20.Text = Df * ((1.00130346 - 0.000134722124 * Temp_Mosto + 0.00000204052596 * Temp_Mosto ^ 2 - 0.00000000232820948 * Temp_Mosto ^ 3) / (1.00130346 - 0.000134722124 * Temp_Calibracion + 0.00000204052596 * Temp_Calibracion ^ 2 - 0.00000000232820948 * Temp_Calibracion ^ 3))
    

    sábado, 26 de diciembre de 2015 8:32

Respuestas

  • Para evitar este tipo de problemas deberías indicar siempre la referencia cultural que utilizar cuando realizas conversiones de tipos de datos.

            Dim Df As Double = Double.Parse(TextBox4.Text.Replace(",", "."), CultureInfo.InvariantCulture)
            Dim Temp_Mosto As Double = Double.Parse(TextBox3.Text.Replace(",", "."), CultureInfo.InvariantCulture) * 1.8 + 32
            Dim Temp_Calibracion As Double = Double.Parse(TextBox5.Text.Replace(",", "."), CultureInfo.InvariantCulture) * 1.8 + 32
            Label19.Text = Temp_Mosto
            Label21.Text = Temp_Calibracion
            Label20.Text = Df * ((1.00130346 - 0.000134722124 * Temp_Mosto + 0.00000204052596 * Temp_Mosto ^ 2 - 0.00000000232820948 * Temp_Mosto ^ 3) / (1.00130346 - 0.000134722124 * Temp_Calibracion + 0.00000204052596 * Temp_Calibracion ^ 2 - 0.00000000232820948 * Temp_Calibracion ^ 3))
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta JETET sábado, 26 de diciembre de 2015 10:06
    sábado, 26 de diciembre de 2015 9:27

Todas las respuestas

  • Para evitar este tipo de problemas deberías indicar siempre la referencia cultural que utilizar cuando realizas conversiones de tipos de datos.

            Dim Df As Double = Double.Parse(TextBox4.Text.Replace(",", "."), CultureInfo.InvariantCulture)
            Dim Temp_Mosto As Double = Double.Parse(TextBox3.Text.Replace(",", "."), CultureInfo.InvariantCulture) * 1.8 + 32
            Dim Temp_Calibracion As Double = Double.Parse(TextBox5.Text.Replace(",", "."), CultureInfo.InvariantCulture) * 1.8 + 32
            Label19.Text = Temp_Mosto
            Label21.Text = Temp_Calibracion
            Label20.Text = Df * ((1.00130346 - 0.000134722124 * Temp_Mosto + 0.00000204052596 * Temp_Mosto ^ 2 - 0.00000000232820948 * Temp_Mosto ^ 3) / (1.00130346 - 0.000134722124 * Temp_Calibracion + 0.00000204052596 * Temp_Calibracion ^ 2 - 0.00000000232820948 * Temp_Calibracion ^ 3))
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta JETET sábado, 26 de diciembre de 2015 10:06
    sábado, 26 de diciembre de 2015 9:27
  • Muchisimas gracias Asier por responder
    sábado, 26 de diciembre de 2015 10:06