none
error al guardar un decimal que se llena automaticamente RRS feed

  • Pregunta

  •  

    tengo un error al guardar no me esta guardando el decimal si no solo el entero del textbox49, el resultado sale de el textbox27 dividido en 20 así que apenas escriba ene l 27 se haga la operación y se llene automático, y funciona lo que no es que al momento de hacer el insert into a la abse de datos el campo del textbox49 no me guarda el decimal si no que solo me guarda un entero he probado en el mismo campo del textbolx igualarlo a la variable pero nada, no se omo hacer que el insert me tome todo el decimal del textbox pero solo lleva el entero 


    Private Sub TextBox27_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox27.TextChanged



            v = Val(TextBox27.Text) / 20
            TextBox49.Text = Val(v)

            Dim nf As Decimal 
        
            nf = Val(v)

            If (nf < 0.25) Then
                TextBox50.Text = "Bajo"
            Else
                If ((0.25 <= nf) And (nf <= 0.5)) Then
                    TextBox50.Text = "Medio"
                Else
                    If (0.5 < nf) Then
                        TextBox50.Text = "Alto"

                    End If
                End If
            End If

    • Cambiado Enrique M. Montejo miércoles, 3 de agosto de 2016 5:37 Pregunta relacionada con el acceso a datos.
    domingo, 31 de julio de 2016 6:45

Todas las respuestas

  • Hola Jhon:

    Mira a ver sustituyendo Val por Cdec.

    La función "Val" te lo muestra siempre sin decimales.

    Un saludo.

    Gemma

    domingo, 31 de julio de 2016 7:49
  • Mira a ver qué separador decimal estás usando. Val deja de leer el número en cuanto encuentra un carácter que no entiende como numérico. Y solo entiende el punto como separador de decimales, si usas una coma deja de leer en cuanto llega a ella, por lo que solo se queda solo con la parte entera.

    Si es una aplicación internacional que necesita reconocer el separador decimal que esté configurado en el panel de control (por ejemplo, una coma en lugar de un punto), entonces quita el Val y usa en su lugar alguna otra de las funciones de conversión, como por ejemplo el CDec o Converto.ToDecimal, o Decimal.Parse o Decimal.TryParse.

    domingo, 31 de julio de 2016 11:58
  • ya lo intente y lo mismo, con los otros textbox no tengo problema me guarda el decimal, no se si por que en ellos si escribo directamente el decimal, en cambio en ese textbox se llena automaticamente cuando se llena el textbox27 dentro de ese hago al funion de dividir ese valor en 20 y que el resultado me lo lleve al textbox49, lo raro es que en el textbox si me muestra el decimal pero al guardar solo me guarda el entero, ser por que se llena automaticamente

    Pienso que el error es ese que no toma el decimal al guardalo por que se llena automaticamente y al guardarlo no reconocer el decimal si no solo la aprte entera

    Private Sub TextBox27_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox27.TextChanged



            v = CDec(TextBox27.Text) / 20
            TextBox49.Text = CDec(v)

            Dim nf As Decimal 
        
            nf =  CDec(v)

            If (nf < 0.25) Then
                TextBox50.Text = "Bajo"
            Else
                If ((0.25 <= nf) And (nf <= 0.5)) Then
                    TextBox50.Text = "Medio"
                Else
                    If (0.5 < nf) Then
                        TextBox50.Text = "Alto"

                    End If
                End If
            End If

    domingo, 31 de julio de 2016 17:07