All pastes #673122 Raw Edit

Mine

public text v1 · immutable
#673122 ·published 2007-08-28 04:47 UTC
rendered paste body
Option Strict On
Public Class Form2
    Private Sub btnExit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub
    Private Sub btnCalculate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalculate.Click
        If IsNumeric(Me.txtNumber.Text) AndAlso CDbl(Me.txtNumber.Text) <= 1000000 Then
            Convert()
        Else
            Me.txtResults.Text = "The text you entered is either not a number or the number was too large!"
        End If
    End Sub
    Private Function ConvertOnesToString(ByVal inputNumber As Integer) As String
        Dim textValue As String = "empty"
        Select Case inputNumber
            Case 1
                textValue = "one "
            Case 2
                textValue = "two "
            Case 3
                textValue = "three "
            Case 4
                textValue = "four "
            Case 5
                textValue = "five "
            Case 6
                textValue = "six "
            Case 7
                textValue = "seven "
            Case 8
                textValue = "eight "
            Case 9
                textValue = "nine "
            Case Else
                textValue = ""
        End Select
        ConvertOnesToString = textValue
    End Function
    Private Function ConvertTensToString(ByVal inputNumber As Integer) As String
        Dim textValue As String = "empty"
        Select Case inputNumber
            Case 0
                textValue = ""
            Case 2
                textValue = "twenty "
            Case 3
                textValue = "thirty "
            Case 4
                textValue = "fourty "
            Case 5
                textValue = "fifty "
            Case 6
                textValue = "sixty "
            Case 7
                textValue = "seventy "
            Case 8
                textValue = "eighty "
            Case 9
                textValue = "ninety "
        End Select
        ConvertTensToString = textValue
    End Function

    Private Function ConvertTeensToString(ByVal inputNumber As Integer) As String
        Dim textValue As String = "empty"
        Select Case inputNumber
            Case 10
                textValue = "ten "
            Case 11
                textValue = "eleven "
            Case 12
                textValue = "twelve "
            Case 13
                textValue = "thirteen "
            Case 14
                textValue = "fourteen "
            Case 15
                textValue = "fifteen "
            Case 16
                textValue = "sixteen "
            Case 17
                textValue = "seventeen "
            Case 18
                textValue = "eighteen "
            Case 19
                textValue = "nineteen "
        End Select
        ConvertTeensToString = textValue
    End Function
    Private Sub Convert()
        Dim number As Double = CDbl(Me.txtNumber.Text)
        Dim cents As Integer
        Dim high As Integer
        Dim low As Integer
        Dim lowHundreds As Integer
        Dim lowTens As Integer
        Dim lowOnes As Integer
        Dim highHundreds As Integer
        Dim highTens As Integer
        Dim highOnes As Integer
        cents = CInt(number * 100 Mod 100)
        low = CInt(number - (cents * (1 / 100))) Mod 1000
        high = CInt(number - (cents * (1 / 100))) \ 1000
        If number = 1000000 Then
            lowOnes = CInt(number / 1000000)
            Me.txtResults.Text = ConvertOnesToString(lowOnes) & "million"
        ElseIf number > 0 Then
            Me.txtResults.Text = cents & "/100"
            If number >= 1 Then
                lowTens = low \ 10 Mod 10
                lowOnes = low Mod 10
                If lowTens = 1 Then
                    lowTens = lowTens * 10 + lowOnes
                    Me.txtResults.Text = ConvertTeensToString(lowTens) & "and " & Me.txtResults.Text
                Else
                    Me.txtResults.Text = ConvertTensToString(lowTens) & ConvertOnesToString(lowOnes) & "and " & Me.txtResults.Text
                End If
                If number >= 100 Then
                    lowHundreds = low \ 100
                    If lowHundreds = 0 Then
                        Me.txtResults.Text = "" & Me.txtResults.Text
                    Else
                        Me.txtResults.Text = ConvertOnesToString(lowHundreds) & "hundred " & Me.txtResults.Text
                    End If
                    If number >= 1000 Then
                        highTens = high \ 10 Mod 10
                        highOnes = high Mod 10
                        If highTens = 1 Then
                            highTens = highTens * 10 + highOnes
                            Me.txtResults.Text = ConvertTeensToString(highTens) & "thousand " & Me.txtResults.Text
                        Else
                            Me.txtResults.Text = ConvertTensToString(highTens) & ConvertOnesToString(highOnes) & "thousand " & Me.txtResults.Text
                        End If
                        If number >= 100000 Then
                            highHundreds = high \ 100
                            Me.txtResults.Text = ConvertOnesToString(highHundreds) & "hundred " & Me.txtResults.Text
                        End If
                    End If
                End If
            End If
        End If
    End Sub
End Class