Redondear resultados mostrados en un TextBox

Iniciado por Usuario 202, 18 Junio 2016, 03:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Usuario 202

Buenas a todos los que leen este tema.

Continuando con mi pequeño proyecto en Visual Studio 2013, me he encontrado con otro inconveniente, el cual es.... ¿Cómo redondear un resultado mostrado en un TextBox?

Bueno siendo más específicos, quiero que el resultado de una operación hecha por un procedimiento sea redondeado (obviamente el resultado saldrá en decimales).

Buscando por ahí encontré este código.


Código (vbnet) [Seleccionar]
TextBox?.Text = CDec(TextBox?.Text).ToString("N0")

El cual me redondea los decimales a partir del 0.5 para arriba.

Por ejemplo si ingreso 36, el resultado en esta operación seria 6.18, y el código no lo redondea lo deja en 6, pero si ingreso 52 el resultado seria 6.71 y me lo redondea a 7.

Entonces como le hago para que se pueda redondear aparir del 0.5 para arriba.

Este es el código en donde se hace la operación:


Código (vbnet) [Seleccionar]
' # Intervalo
        Dim num As Double
        Dim Ln10 As Double
        num = Val(TextBox1.Text)
        Ln10 = Math.Log(10)
        TextBox2.Text = 1 + 3.333 * Math.Log(num) / Ln10
        TextBox2.Text = CDec(TextBox2.Text).ToString("N0")
        Intervalo = TextBox6.Text
        TextBox1.Text = ""


Gracias por leer y espero que me puedan ayudar.

Eleкtro

#1
Puedes utilizar la función System.Math.Ceiling, de la siguiente manera:

Código (vbnet) [Seleccionar]
Dim value As Double = 36.0R ' CDbl(TextBox1.Text)
Dim result As Double = (1.0R + (3.333R * Math.Log(value)) / Math.Log(10.0R))
Dim round As Integer = CInt(Math.Ceiling(result))

TextBox2.Text = CStr(round)


Saludos








Usuario 202

Muchas gracias Eleкtro, me funciono de maravilla el código muchas gracias.