Less Than Dot is a community of passionate IT professionals and enthusiasts dedicated to sharing technical knowledge, experience, and assistance. Inside you will find reference materials, interesting technical discussions, and expert tips and commentary. Once you register for an account you will have immediate access to the forums and all past articles and commentaries.
VB.Net: Numbers to Dutch words
From Wiki
- Namespace Functions
- ''' <summary>
- '''
- ''' </summary>
- ''' <remarks></remarks>
- Public Class NumberToDutchWords
- #Region " Private members "
- ''' <summary>
- '''
- ''' </summary>
- ''' <remarks></remarks>
- Dim _Value As Double
- ''' <summary>
- '''
- ''' </summary>
- ''' <remarks></remarks>
- Dim _Dutch As String
- #End Region
- #Region " Public properties "
- ''' <summary>
- '''
- ''' </summary>
- ''' <value></value>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Property Value() As Double
- Get
- Return _Value
- End Get
- Set(ByVal Value As Double)
- _Value = Value
- NumbertoWords()
- End Set
- End Property
- ''' <summary>
- '''
- ''' </summary>
- ''' <value></value>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public ReadOnly Property Dutch() As String
- Get
- Return _Dutch
- End Get
- End Property
- #End Region
- #Region " Constructors "
- ''' <summary>
- '''
- ''' </summary>
- ''' <remarks></remarks>
- Public Sub New()
- _Value = 0
- NumbertoWords()
- End Sub
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="Value"></param>
- ''' <remarks></remarks>
- Public Sub New(ByVal Value As Double)
- _Value = Value
- NumbertoWords()
- End Sub
- #End Region
- #Region " Private methods "
- ''' <summary>
- '''
- ''' </summary>
- ''' <remarks></remarks>
- Private Sub NumbertoWords()
- Dim strInwords As String
- Dim dblNumberbeforecomma, dblNumberdecimals As Double
- Dim intNumber(10) As Integer
- Dim intTemp As Integer
- If _Value < 1000000 Then
- strInwords = ""
- dblNumberbeforecomma = Math.Floor(_Value)
- dblNumberdecimals = 100 * Math.Round(_Value - dblNumberbeforecomma, 2)
- For intTemp = 6 To 1 Step -1
- intNumber(7 - intTemp) = Convert.ToInt32(dblNumberbeforecomma) \ Convert.ToInt32((10 ^ (intTemp - 1)))
- dblNumberbeforecomma = dblNumberbeforecomma Mod (10 ^ (intTemp - 1))
- Next
- dblNumberbeforecomma = Math.Floor(_Value)
- If dblNumberbeforecomma >= 1000 Then
- If dblNumberbeforecomma >= 2000 Then
- strInwords = waarde(intNumber(1), intNumber(2), intNumber(3)).TrimStart(Convert.ToChar(" ")) & " duizend"
- Else
- strInwords = "duizend"
- End If
- End If
- strInwords &= " " & waarde(intNumber(4), intNumber(5), intNumber(6)).TrimStart(Convert.ToChar(" ")) & " euro "
- If dblNumberdecimals > 0 Then
- strInwords &= waarde(0, Convert.ToInt32(dblNumberdecimals) \ 10, Convert.ToInt32(dblNumberdecimals Mod 10)).TrimStart(Convert.ToChar(" ")) & " cent"
- End If
- _Dutch = strInwords.TrimStart(Convert.ToChar(" "))
- End If
- End Sub
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="cijfer"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Private Function eenheid(ByVal cijfer As Integer) As String
- Dim A(10) As String
- A(1) = "een"
- A(2) = "twee"
- A(3) = "drie"
- A(4) = "vier"
- A(5) = "vijf"
- A(6) = "zes"
- A(7) = "zeven"
- A(8) = "acht"
- A(9) = "negen"
- Return A(cijfer)
- End Function
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="cijfer"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Private Function tiental(ByVal cijfer As Integer) As String
- Dim A(10) As String
- A(1) = "tien"
- A(2) = "twintig"
- A(3) = "dertig"
- A(4) = "veertig"
- A(5) = "vijftig"
- A(6) = "zestig"
- A(7) = "zeventig"
- A(8) = "tachtig"
- A(9) = "negentig"
- Return A(cijfer)
- End Function
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="A"></param>
- ''' <param name="B"></param>
- ''' <param name="C"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Private Function waarde(ByVal A As Integer, ByVal B As Integer, ByVal C As Integer) As String
- Dim spatieA, spatieB As String
- If B > 0 Then
- spatieA = " "
- Else
- spatieA = ""
- End If
- If C > 0 Then
- spatieB = " "
- Else
- spatieB = ""
- End If
- waarde = ""
- If A > 0 Then
- If A > 1 Then
- waarde = eenheid(A) & "honderd" & spatieA
- Else
- waarde &= "honderd" & spatieA
- End If
- End If
- If C > 0 Then
- If (B = 0 And C > 1) Then
- waarde &= eenheid(C)
- End If
- If (B = 0 And C = 1) Then
- If A = 0 Then
- waarde &= "één"
- Else
- waarde &= " en één"
- End If
- End If
- If B = 1 Then
- waarde &= spatieB
- Select Case C
- Case Is = 1
- waarde &= "elf"
- Case Is = 2
- waarde &= "twaalf"
- Case Is = 3
- waarde &= "dertien"
- Case Is = 4
- waarde &= "veertien"
- Case Is = 5
- waarde &= "vijftien"
- Case Is = 6
- waarde &= "zestien"
- Case Is = 7
- waarde &= "zeventien"
- Case Is = 8
- waarde &= "achttien"
- Case Is = 9
- waarde &= "negentien"
- End Select
- End If
- If B > 1 Then
- waarde &= eenheid(C) & "en" & tiental(B)
- End If
- Else
- If B = 1 Then
- waarde &= "tien"
- End If
- If B > 1 Then
- waarde &= spatieB & tiental(B)
- End If
- End If
- If InStr(waarde, "eee") <> 0 Then
- Mid(waarde, (InStr(waarde, "eee")), 3) = "eeë"
- End If
- If InStr(waarde, "iee") <> 0 Then
- Mid(waarde, (InStr(waarde, "iee")), 3) = "ieë"
- End If
- End Function
- #End Region
- End Class
- End Namespace



LTD Social Sitings
Note: Watch for social icons on posts by your favorite authors to follow their postings on these and other social sites.