Autor Thema: Single Data-Typ und Mathematik  (Gelesen 1214 mal)

Offline mind1

  • Junior Mitglied
  • **
  • Beiträge: 93
Single Data-Typ und Mathematik
« am: 15.01.13 - 14:42:52 »
Hallo zusammen,

ich habe ein sehr seltsames Phänomen, bei dem ich einfach nicht weiter komme. In einer Anwendung müssen IP-Adressen in dezimale Werte umgerechnet werden. Das funktioniert ja nach der Formel

A*256^3+B*256^2+C*256^1+D*256^0

So weit so gut. Die Formel habe ich zunächst mit dem Datentyp Long ausprobiert, da funktionierte noch alles. Leider reicht der Typ nunmal nicht aus, um Zahlen bis 2^32 darzustellen, also habe ich zum Datentyp "Single" gewechelt.

Seit dem rechnet Notes aber falsch. Es geht um folgendes Script:

Code
strIP = "188.98.224.99"

	sngTmp1 = Csng(StrToken(strIP,".",1)) * 256 ^ 3

	sngTmp2 = Csng(StrToken(strIP,".",2)) * 256 ^ 2

	sngTmp3 = Csng(StrToken(strIP,".",3)) * 256
	
	sngTmp4 = CSng(StrToken(strIP,".",4))
	
	sngIp = sngTmp1 + sngTmp2 + sngTmp3 + sngTmp4
	
	Print "Ergebnis dezimal: " + CStr(Round(sngIP,0))
	Print "Rechnung ist aber: " + CStr(Round(sngTmp1,0)) + " + " + CStr(Round(sngTmp2,0)) + " + " + CStr(sngTmp3) + " + " + CStr(sngTmp4)

Ich habe schon viel getestet. Er verrechnet sich immer im letzten Schritt, also wenn sngTmp4 hinzugerechnet wird. Die Round-Befehle sind wegen der Darstellung als Text drin (sonst ist die Darstellung ala "e hoch irgedwas") und tun bei der Rechnung als solches nichts zur Sache.

Beispielrechnung: Bei der IP 188.98.224.99 wird das Ergebnis 3160596480 geliefert. Gerechnet wird 3154116608 + 6422528 + 57344 + 99. Das korrekte Ergebnis wäre also 3160596579.

Was passiert da? Bin für jeden Tipp zu haben!

Danke, Bernd


   

Offline Charly77

  • Junior Mitglied
  • **
  • Beiträge: 89
  • Geschlecht: Männlich
Re: Single Data-Typ und Mathematik
« Antwort #1 am: 15.01.13 - 15:06:17 »
Hallo,

versuche statt Single mal den Currency, dann sollte das funktionieren.

edit sagt es funktioniert, hab`s grade getestet.
« Letzte Änderung: 15.01.13 - 15:18:59 von Charly77 »
MFG Charly

Domino 5.0.11
Client 5.0.9a
Domino 8.5.3 + ext lib
Client 8.5.3 + ext lib

Offline mind1

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: Single Data-Typ und Mathematik
« Antwort #2 am: 15.01.13 - 15:24:23 »
Tatsächlich, dat funktioniert :-)

Vielen Dank für den Querdenker, den habe ich gebraucht...

Gruß, Bernd

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz