Advertisement
MatheusGbrt

ConversorParaOrdinal

Oct 25th, 2023
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 2.03 KB | None | 0 0
  1.    Function ConverteParaOrdinal(ByVal numero As Decimal) As String
  2.         Dim numeroInteiro As Integer = Decimal.ToInt32(numero)
  3.         Dim numeroComoTexto As String = ""
  4.         If numeroInteiro >= 1 AndAlso numeroInteiro <= 1000 Then
  5.             Dim unidades() As String = {"", "Primeiro", "Segundo", "Terceiro", "Quarto", "Quinto", "Sexto", "Sétimo", "Oitavo", "Nono"}
  6.             Dim dezenas() As String = {"", "Décimo", "Vigésimo", "Trigésimo", "Quadragésimo", "Quinquagésimo", "Sexagésimo", "Septuagésimo", "Octogésimo", "Nonagésimo"}
  7.             Dim centenas() As String = {"", "Centésimo", "Ducentésimo", "Trecentésimo", "Quatrocentésimo", "Quingentésimo", "Sexcentésimo", "Septingentésimo", "Octingentésimo", "Noningentésimo"}
  8.  
  9.             If numeroInteiro >= 1 AndAlso numeroInteiro <= 9 Then
  10.                 numeroComoTexto = unidades(numeroInteiro)
  11.             ElseIf numeroInteiro >= 10 AndAlso numeroInteiro <= 99 Then
  12.                 Dim unidade As Integer = numeroInteiro Mod 10
  13.                 Dim dezena As Integer = numeroInteiro \ 10
  14.                 numeroComoTexto = dezenas(dezena)
  15.                 If unidade > 0 Then
  16.                     numeroComoTexto &= " " & unidades(unidade).ToLower
  17.                 End If
  18.             ElseIf numeroInteiro >= 100 AndAlso numeroInteiro <= 999 Then
  19.                 Dim centena As Integer = numeroInteiro \ 100
  20.                 Dim dezena As Integer = (numeroInteiro Mod 100) \ 10
  21.                 Dim unidade As Integer = numeroInteiro Mod 10
  22.                 numeroComoTexto = centenas(centena)
  23.                 If dezena > 0 Then
  24.                     numeroComoTexto &= " " & dezenas(dezena).ToLower
  25.                 End If
  26.                 If unidade > 0 Then
  27.                     numeroComoTexto &= " " & unidades(unidade).ToLower
  28.                 End If
  29.             ElseIf numeroInteiro = 1000 Then
  30.                 numeroComoTexto = "Milésimo"
  31.             End If
  32.  
  33.             Return numeroComoTexto
  34.         Else
  35.             Return -1
  36.         End If
  37.     End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement