Domino 9 und frühere Versionen > ND7: Entwicklung

Umwandlung in Dezimalzahl

<< < (3/3)

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