Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Usuario 202 en 18 Junio 2016, 03:53 am



Título: Redondear resultados mostrados en un TextBox
Publicado por: Usuario 202 en 18 Junio 2016, 03:53 am
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
  1. 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
  1. ' # Intervalo
  2.        Dim num As Double
  3.        Dim Ln10 As Double
  4.        num = Val(TextBox1.Text)
  5.        Ln10 = Math.Log(10)
  6.        TextBox2.Text = 1 + 3.333 * Math.Log(num) / Ln10
  7.        TextBox2.Text = CDec(TextBox2.Text).ToString("N0")
  8.        Intervalo = TextBox6.Text
  9.        TextBox1.Text = ""

Gracias por leer y espero que me puedan ayudar.


Título: Re: Redondear resultados mostrados en un TextBox
Publicado por: Eleкtro en 18 Junio 2016, 06:00 am
Puedes utilizar la función System.Math.Ceiling, de la siguiente manera:

Código
  1. Dim value As Double = 36.0R ' CDbl(TextBox1.Text)
  2. Dim result As Double = (1.0R + (3.333R * Math.Log(value)) / Math.Log(10.0R))
  3. Dim round As Integer = CInt(Math.Ceiling(result))
  4.  
  5. TextBox2.Text = CStr(round)

Saludos


Título: Re: Redondear resultados mostrados en un TextBox
Publicado por: Usuario 202 en 19 Junio 2016, 20:18 pm
Muchas gracias Eleкtro, me funciono de maravilla el código muchas gracias.