1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Problemstellung:

Wie kann ich aus einer Zahl eine römische Zahl machen? 

Function Dec2Romanum(ByVal Zahl As Integer) As String
' Konvertiert eine Zahl in entsprechende römische Zahl
  Const Digits = "IVXLCDM"
  Dim i As Integer, Digit As Integer, Temp As String
  
  i = 1
  Temp = ""
  Do While Zahl > 0
    Digit = Zahl Mod 10
    Zahl = Zahl \ 10
    Select Case Digit
      Case 1
        Temp = Mid(Digits, i, 1) & Temp
      Case 2
        Temp = Mid(Digits, i, 1) & Mid(Digits, i, 1) & Temp
      Case 3
        Temp = Mid(Digits, i, 1) & Mid(Digits, i, 1) & Mid(Digits, i, 1) & Temp
      Case 4
        Temp = Mid(Digits, i, 2) & Temp
      Case 5
        Temp = Mid(Digits, i + 1, 1) & Temp
      Case 6
        Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Temp
      Case 7
        Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Mid(Digits, i, 1) & Temp
      Case 8
        Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Mid(Digits, i, 1) & Mid(Digits, i, 1) & Temp
      Case 9
        Temp = Mid(Digits, i, 1) & Mid(Digits, i + 2, 1) & Temp
    End Select
    i = i + 2
  Loop
  Dec2Romanum = Temp
End Function

Aufruf:

Dim x As String
x = Dec2Romanum(1963)

würde die Zahl 1963 in MCMLXIII umwandeln

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png3.png1.png0.png9.png
Heute38
Gestern54
Diese Woche38
Dieser Monat1168
Total1193109

  • IP: 54.156.76.187
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

21. Mai 2018