Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Lloyd am 19.05.11 - 16:39:02

Titel: HEX nach DEZIMAL
Beitrag von: Lloyd am 19.05.11 - 16:39:02
Und da war er wieder der Wald mit seinen Bäumen.

Kann mir jemand sagen wie ich per Notes Script aus einem Hexwert wieder einen Dezimalwert kriege? Umgekehrt ist ja recht einfach "Hex$(Wert)". Nur finde ich keine Funktion für den umgekehrten Weg.

Titel: Re: HEX nach DEZIMAL
Beitrag von: koehlerbv am 19.05.11 - 16:56:52
Val
Titel: Re: HEX nach DEZIMAL
Beitrag von: mind1 am 20.05.11 - 11:33:46
...oder auch klassisch (umständlich) von hinten nach vorne die Stellen durchrechnen:

(Stelle 1 * 16 hoch 0) +
(Stelle 2 * 16 hoch 1) +
(Stelle 3 * 16 hoch 2)...

A-F = 10-15
Titel: Re: HEX nach DEZIMAL
Beitrag von: Glombi am 20.05.11 - 12:21:43
Zu val habe ich was interessantes gefunden:

http://www-10.lotus.com/ldd/46dom.nsf/Search/6aee0fd377fc1cdf852566c20032f72b?OpenDocument

Andreas
Titel: Re: HEX nach DEZIMAL
Beitrag von: koehlerbv am 20.05.11 - 12:32:09
Das scheint aber nur für frühere Versionen gegolten zu haben.

Bernhard
Titel: Re: HEX nach DEZIMAL
Beitrag von: Lloyd am 20.05.11 - 12:53:50
Vielen Dank für die Infos.
Titel: Re: HEX nach DEZIMAL
Beitrag von: AlexZX am 24.01.13 - 10:32:33
Hallo,

wir verwenden Lotus Notes 8.5.3 FP1 und ich musste heute feststellen, dass die VAL Funktion für HEX Werte über 8000 immer noch falsche Ergebnisse liefert!

z.B. Val(&H80000048) liefert -2147483576

richtig wäre aber 2147483720

Es muss also immer noch die Korrektur durchgeführt werden!

siehe: http://www-10.lotus.com/ldd/46dom.nsf/Search/6aee0fd377fc1cdf852566c20032f72b?OpenDocument (http://www-10.lotus.com/ldd/46dom.nsf/Search/6aee0fd377fc1cdf852566c20032f72b?OpenDocument)

Mit freundlichen Grüßen
Alex
Titel: Re: HEX nach DEZIMAL
Beitrag von: pram am 24.01.13 - 10:40:53
Code
z.B. Val(&H80000048) liefert -2147483576
Das wäre auch insofern richtig, wenn man von einem 32Bit Integer ausgeht (=Long in LotusScript)

Der Windows 7 Taschenrechner liefert das selbe, wenn man die Konvertierung im DWord-Modus durchführt.

2147483720 passt übrigens nicht mehr in einen LS-Long. (-2,147,483,648 - 2,147,483,647)
Da brauchst dann einen Currency.

Gruß
Roland