Domino 9 und frühere Versionen > ND7: Entwicklung
Umwandlung in Dezimalzahl
klaussal:
--- Code: ---Dim zahlen(1) As String
Dim temp As String
Dim negativ As Boolean
Dim vorkomma As String
Dim offset As Integer
Dim laenge As Integer
Dim ergebnis As Double
zahlen(0) = "000000129-"
zahlen(1) = "000000129 "
Forall zahl In zahlen
laenge = Len(zahl)
temp = Right(zahl, 1)
If( temp = "-" ) Then
negativ = True
Else
negativ = False
End If
vorkomma = Left(zahl, laenge - 1)
ergebnis = Cdbl( vorkomma)
ergebnis = ergebnis / 100
If (negativ) Then
ergebnis = ergebnis * -1
End If
Msgbox ergebnis
End Forall
--- Ende Code ---
Demian:
Erstmal vielen Dank für die vielen Antworten.
Ich habe mich letztlich für den Code von Klauss entschieden, da er der kürzeste ist.
Forall Zahl in Zahlen <- das sowas geht, war mir gar nicht bewusst. Ich war der Meinung Forall funktioniert nur mit "echten" Objekten, also sowas wie
Forall Items in Doc.Items oder so. Wieder was gelernt.
Das mit den Betriebsystemeinstellungen ist auch eine feine Sache. Aber da wir keinerlei Zweigstellen im Ausland haben und auch nicht glaube das das so schnell passieren wird, werde ich das erstmal nicht verwenden.
Nochmals vielen vielen Dank euch allen.
War da echt schon am Verzweifeln mit den Nullen.
Gruß
Demian
Pyewacket:
Unter der Voraussetzung dass das Format immer mindestens 3 Ziffern und Rechts eine Leerstelle oder ein Minuszeichen enthält lässt sich das auch so machen:
Dim s As New NotesSession
Dim Eingabe As String ' Der Eingabewert
Dim ausgabe As Currency ' Der Ausgabewert
Dim w1 As String ' Arbeitsfeld Vorzeichen
Dim w2 As String ' Arbeitsfeld Vorkommastellen
Dim w3 As String ' Arbeitsfeld Dezimaltrennzeichen
Dim w4 As String ' Arbeitsfeld nachkommastellen
Dim w5 As String ' Arbeitsfeld für Zusammenbau
w1=Right(Eingabe,1) ' Vorzeichen '-' oder ' '
w2=Left(Eingabe, Len(Eingabe)-3) ' Die vorkommastelle
w3=s.International.DecimalSep ' das aktuelle Dezimaltrennzeichen
w4 = Mid(Eingabe, Len(Eingabe)-2,2) ' die zwei Dezimalstellen
w5= w1 + w2 + w3 + w4 ' Alles aneinanderhängen zu ein Zeichenkette
Ausgabe=Ccur( w5) ' Umwandeln in Zieltyp
Pyewacket:
Da die Zahlen vermutlich mal Geldbeträge darstellen sollen habe ich für das Ausgabefeld als Typ Currency genommen. Double als Feldtyp ist dafür total ungeeignet.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln