• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 908
  • Last Modified:

TextBox as Percentage

Hi.  I basically want a text box entry to be a percentage. So, if the user enters 100 its 100 percent of a value. 50 would be 50 percent (.50) and so on.  In the database its simply a decimal.  How would I go about doing this?

  • 2
1 Solution
Jorge PaulinoIT Pro/DeveloperCommented:
You can do something like this

        Dim value As Integer = 50
        Debug.WriteLine(FormatPercent(value / 100))

Open in new window

I Think you are asking a Type casting question

also you might want to sanitize the input to make sure it is within range of percentages (less than 1 and greater than 0)
Function getValue(TextBox tb)
    Dim percent As Double
    'Cast String to double
    percent = CDBL(tb.value)
    IF( (percent/100) <= 1 and (percent/100) >= 0 )
        getValue = percent
       'invalid percentage value

Open in new window

Jorge PaulinoIT Pro/DeveloperCommented:
Here's another validation if you want to format the textbox on leave event
    Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
        If Integer.TryParse(Me.TextBox1.Text, New Integer) AndAlso Me.TextBox1.Text >= 0 AndAlso Me.TextBox1.Text <= 100 Then
            Me.TextBox1.Text = FormatPercent(Me.TextBox1.Text / 100)
            Me.TextBox1.Text = String.Empty
        End If
    End Sub

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now