Saltar al contenido principal

 none
No consigo que no me redondee una cifra RRS feed

  • Pregunta

  • Buenas no consigo que no me redonde una cifra en concreto 2,9 me lo redondea a 3

    Gracias 

    Dim Co2min As Decimal
                Dim Co2max As Decimal
                Dim Co2med As Decimal
                For Each Xmlnode_Estilos As Xml.XmlNode In XmlNodeList_Estilos
    
                    If Xmlnode_Estilos.ChildNodes.Item(0).InnerText = ComboBox2.Text Then
                        Co2min = Xmlnode_Estilos.ChildNodes.Item(15).InnerText
                        Co2max = Xmlnode_Estilos.ChildNodes.Item(16).InnerText
                        Co2med = (Co2min + Co2max) / 2
                        MsgBox(Co2min & "  " & Co2max)
                        Label25.Text = "Co2 Minimo: " & Co2min & "   Co2 Maximo: " & Co2max & "   Media de Co2: " & Co2med
                    End If
                Next

    lunes, 18 de noviembre de 2019 19:58

Respuestas

  • Prueba con  Dim final As Decimal = Decimal.Round(Co2med, 1)   .....  MsgBox(final) Pero ten en cuenta la cultura local, no será lo mismo si el valor es con "." o "," has la prueba y verifica, de ser así tendras que intervenir en la cultura local

    CultureInfo.CurrentCulture Propiedad

    Saludos Diablo


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Marcado como respuesta Diablo_Rojo martes, 19 de noviembre de 2019 19:55
    martes, 19 de noviembre de 2019 2:58
  • hola

    lo primero que recomendaria es que actives el "Option Strict" como opcion de vb.net, esto te obligara a defnir correctamente los tipos de datos, por ejemplo deberias convertir al tipo de dato

    Co2min = Convert.ToDecimal(Xmlnode_Estilos.ChildNodes.Item(15).InnerText)

    despues quizas debas aplicar formato, como ser

    Label25.Text = String.Format("Co2 Minimo: {0:N2}  Co2 Maximo: {1:N2} Media de Co2: {2:N2}", Co2min, Co2max, Co2med)

    ese N2 indica que convierta el decimal con 2 decimales cuando lo visualice

    Cadenas con formato numérico estándar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Diablo_Rojo martes, 19 de noviembre de 2019 19:55
    martes, 19 de noviembre de 2019 15:09

Todas las respuestas

  • Prueba con  Dim final As Decimal = Decimal.Round(Co2med, 1)   .....  MsgBox(final) Pero ten en cuenta la cultura local, no será lo mismo si el valor es con "." o "," has la prueba y verifica, de ser así tendras que intervenir en la cultura local

    CultureInfo.CurrentCulture Propiedad

    Saludos Diablo


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Marcado como respuesta Diablo_Rojo martes, 19 de noviembre de 2019 19:55
    martes, 19 de noviembre de 2019 2:58
  • hola

    lo primero que recomendaria es que actives el "Option Strict" como opcion de vb.net, esto te obligara a defnir correctamente los tipos de datos, por ejemplo deberias convertir al tipo de dato

    Co2min = Convert.ToDecimal(Xmlnode_Estilos.ChildNodes.Item(15).InnerText)

    despues quizas debas aplicar formato, como ser

    Label25.Text = String.Format("Co2 Minimo: {0:N2}  Co2 Maximo: {1:N2} Media de Co2: {2:N2}", Co2min, Co2max, Co2med)

    ese N2 indica que convierta el decimal con 2 decimales cuando lo visualice

    Cadenas con formato numérico estándar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Diablo_Rojo martes, 19 de noviembre de 2019 19:55
    martes, 19 de noviembre de 2019 15:09
  • Gracias por responder, sigo teniendo el mismo problema de lo redondea a 3 el 2,90

    estos son los datos 

    <Carb_Min>2,50</Carb_Min> este me lo saca bien y creo que es por que esta en 2,50 si estuviese por encima me lo redondaria a 3

    <Carb_Max>2,90</Carb_Max>  y este me lo redonde a 3 y con el segundo ejemplo me da 3,00 en vez 2,90

    martes, 19 de noviembre de 2019 16:46
  • Hola, se ha resuelto? o sigues con el problema? en mi escenario el valor resultante de la suma y la divición por 2 es correcta me da 2.9 algo más debe haber, puedes colocar los valores exactos y lo seguimos viendo


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    martes, 19 de noviembre de 2019 21:14
  • Gracias Marcelo, ya lo he conseguido era que lo que me da no corresponde al registro que miraba 

    Gracias

    miércoles, 20 de noviembre de 2019 14:31