Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Double Overflow bei 10stelliger Zahl

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Double Overflow bei 10stelliger Zahl (1102 mal gelesen)
therp
Mitglied



Sehen Sie sich das Profil von therp an!   Senden Sie eine Private Message an therp  Schreiben Sie einen Gästebucheintrag für therp

Beiträge: 23
Registriert: 31.08.2010

Precision M4600
Intel(R) Core™ i5-2520M CPU @ 2.50GHz 8145 MB
NVIDIA Quadro 2000M
Microsoft Windows 7 Enterprise Service Pack 1
Catia V5 R19 SP09 HF069

erstellt am: 30. Mai. 2013 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich möchte in VBA Dezimalzahlen in Hexadezimalzahlen umwandeln und benutze dafür die Funktion hex().

Für kleinere Zahlen funktioniert das auch ganz gut. Allerdings sind die Zahlen die ich umwandeln möchte alle zehnstellig und dann kommt der Fehler 6: Overflow

Hier mal der Code:

Code:

Sub test()

Dim color As String

Dim zahl As Double

zahl = 2 ^ 32 - 65536

color = Hex(zahl)

End Sub


Die Variable "zahl" ergibt sich immer aus den Summanden 2^32 und einer negativen Zahl, welche maximal achtstellig ist.

Was mich wundert ist, dass die Variable in einen Überlauf gerät, obwohl double-Variablen ja einen viel größeren Zahlenraum abdecken.

Ich habe schon versucht, die Umrechnung manuell vorzunehmen, da ich dachte es liegt an der "string"-Variablen.

Dafür muss man ja

Code:

dim hex as double

hex = zahl mod 16


rechnen. Aber da tritt der gleiche Fehler auf...

Kann mir jemand helfen?

MfG Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 30. Mai. 2013 11:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für therp 10 Unities + Antwort hilfreich

Servus
Scheinbar hat die Funktion "hex" nur einen Inputbereich bis 2^31-1.
Hier findest du einen Workaround (nicht von mir getestet)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz