none
Formato numérico y decimal en TextBox RRS feed

  • Pregunta

  • Hola a todos

    Estoy usando Visual Basic 2010 con base datos acces en Windows 10

    Quisiera saber como implementar formato numérico de miles y decimales 

    con un, dos y tres decimales

    Por ejemplo Si tengo 123200 Desearía saber como formatear  así

    sin decimales 123.200

    con un decimal 123.200,0

    con dos decimales 123.200,02

    con tres decimales 123.200,025

     Dim dbObra As New OleDbConnection( _
                        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                        "Password=;User ID=Admin;" & _
                        "Data Source=" & frmPresupuesto.lblObraCompleto.Text)
                Dim SQLUnidadesPrecio As String = "SELECT UnidadesPrecio FROM Obra"
                Dim objUnidadesPrecio As New OleDbCommand(SQLUnidadesPrecio, dbObra)
                dbObra.Open()
                Dim readerUnidadesPrecio As OleDbDataReader = objUnidadesPrecio.ExecuteReader()
                Dim UnidadesPrecio As String = ""
                If readerUnidadesPrecio.Read() Then
                    UnidadesPrecio = CStr(readerUnidadesPrecio("UnidadesPrecio"))
                End If
                dbObra.Close()
    
     If dtRubroCargar.Rows.Count > 0 Then
                        Dim rowRubroCargar As DataRow = dtRubroCargar.Rows(0)
                        txtAgregaRubroCosto.Text = CStr(rowRubroCargar("CostoTotal"))
                        'Aquí debería estar el formato
    txtAgregaRubroUnidad.Text = CStr(rowRubroCargar("Unidad"))
                        lblMoneda.Text = CStr(rowRubroCargar("Moneda"))
                    End If
                    txtAgregaRubroCantidad.Text = ""
                End If

    Saludos cordiales

    viernes, 9 de junio de 2017 13:29

Respuestas

  • txtAgregaRubroUnidad.Text = rowRubroCargar("Unidad").ToString("N2")
    

    Creo que sería algo así...

    ---

    N0, N1, N2, N3...

    • Editado walter_5 viernes, 9 de junio de 2017 13:40
    • Propuesto como respuesta Willams Morales viernes, 9 de junio de 2017 14:46
    • Marcado como respuesta Joyce_ACModerator martes, 13 de junio de 2017 18:36
    viernes, 9 de junio de 2017 13:39
  • De acuerdo con Walter, el formato numérico "N" convierte un número a una cadena conteniendo una representación numérica con formato, acotando únicamente que se debe tomar atención en el separador de millar y el separador decimal que se espera, si por alguna razón en particular se espera el símbolo de punto como separador de millares y el símbolo de coma como separador de decimales se debe especificar la referencia cultural de un formato en particular, por ejemplo:

    Dim number As Decimal = 123200.5665D
    
    'Formato con dos decimales
    Dim RepresentacionNumerica = number.ToString("N2", New Globalization.CultureInfo("es-ES"))
    'Resultado: 123.200,57


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de junio de 2017 14:46

Todas las respuestas

  • txtAgregaRubroUnidad.Text = rowRubroCargar("Unidad").ToString("N2")
    

    Creo que sería algo así...

    ---

    N0, N1, N2, N3...

    • Editado walter_5 viernes, 9 de junio de 2017 13:40
    • Propuesto como respuesta Willams Morales viernes, 9 de junio de 2017 14:46
    • Marcado como respuesta Joyce_ACModerator martes, 13 de junio de 2017 18:36
    viernes, 9 de junio de 2017 13:39
  • Hola:

     Podrías usar la clase MATH la cual te provee del método ROUND con el cual podrías redondear a la cantidad de decimales deseados:

     Date una vuelta por la documentación:

    Método Math.Round

     un ejemplo muy sencillo seria:

    txtResultado.Text = Convet.ToString(Math.Round(valorRetornadoPorAccess, cantidadDeciamlesDeseados)
     Espero que la información brindada te sea de utilidad.


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 9 de junio de 2017 13:49
  • De acuerdo con Walter, el formato numérico "N" convierte un número a una cadena conteniendo una representación numérica con formato, acotando únicamente que se debe tomar atención en el separador de millar y el separador decimal que se espera, si por alguna razón en particular se espera el símbolo de punto como separador de millares y el símbolo de coma como separador de decimales se debe especificar la referencia cultural de un formato en particular, por ejemplo:

    Dim number As Decimal = 123200.5665D
    
    'Formato con dos decimales
    Dim RepresentacionNumerica = number.ToString("N2", New Globalization.CultureInfo("es-ES"))
    'Resultado: 123.200,57


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de junio de 2017 14:46