hi,
ich habe hier eine Funktion, mit der ich Dezimal zahlen in Binärzahlen wandeln kann.
Nun will ich mit dieser Funktion "Wandle" römische Zahlen in arabische, bzw. Dezimalzahlen wandeln...weiß jemand wie ich diese funktion erweitern kann?
hier meine Funktion wandle:
Function wandle(von As String, nach As String, eingabe As String, Optional_ breite As Long = 0) As String
Dim vSatz As ZSatz
Dim nSatz As ZSatz
Dim ePuffer As String
Dim vZiffer As String
Dim vWert As Long
Dim vExponent As Long
Dim wPuffer As Long
Dim nZiffer As String
Dim nWert As Long
Dim nExponent As Long
Dim aPuffer As String
init_Satz vSatz, von
init_Satz nSatz, nach
ePuffer = eingabe
wPuffer = 0
'Schleife zur Bestimmung des Wertes der Eingabe
Do
If ePuffer = Leer Then Exit Do
vExponent = Länge(ePuffer) - 1
vZiffer = trenne_erstes_Zeichen(ePuffer)
vWert = scanneW(vSatz, vZiffer)
wPuffer = wPuffer + (vWert * vSatz.basis ^ vExponent)
Loop
Do
If wPuffer < 1 Then Exit Do
nWert = wPuffer Mod nSatz.basis
nZiffer = scanneZ(nSatz, nWert)
AddText aPuffer, nZiffer, vorn
wPuffer = (wPuffer - nWert) \ nSatz.basis
Loop
If breite <> 0 Then aPuffer = textLänge_n(breite, aPuffer, nSatz.ziffern(0))
wandle = aPuffer
End Function
ich habe hier eine Funktion, mit der ich Dezimal zahlen in Binärzahlen wandeln kann.
Nun will ich mit dieser Funktion "Wandle" römische Zahlen in arabische, bzw. Dezimalzahlen wandeln...weiß jemand wie ich diese funktion erweitern kann?
hier meine Funktion wandle:
Function wandle(von As String, nach As String, eingabe As String, Optional_ breite As Long = 0) As String
Dim vSatz As ZSatz
Dim nSatz As ZSatz
Dim ePuffer As String
Dim vZiffer As String
Dim vWert As Long
Dim vExponent As Long
Dim wPuffer As Long
Dim nZiffer As String
Dim nWert As Long
Dim nExponent As Long
Dim aPuffer As String
init_Satz vSatz, von
init_Satz nSatz, nach
ePuffer = eingabe
wPuffer = 0
'Schleife zur Bestimmung des Wertes der Eingabe
Do
If ePuffer = Leer Then Exit Do
vExponent = Länge(ePuffer) - 1
vZiffer = trenne_erstes_Zeichen(ePuffer)
vWert = scanneW(vSatz, vZiffer)
wPuffer = wPuffer + (vWert * vSatz.basis ^ vExponent)
Loop
Do
If wPuffer < 1 Then Exit Do
nWert = wPuffer Mod nSatz.basis
nZiffer = scanneZ(nSatz, nWert)
AddText aPuffer, nZiffer, vorn
wPuffer = (wPuffer - nWert) \ nSatz.basis
Loop
If breite <> 0 Then aPuffer = textLänge_n(breite, aPuffer, nSatz.ziffern(0))
wandle = aPuffer
End Function
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Shroomy“ ()