Umwandlung Zahlenformat SAX Basic

#1
Hallo,

ich möchte gerne das Zahlenformat einer Variable ändern.

Code:
stromwert = CDbl(DlgText("StTrig"))
stromwert = stromwert/1000
      
Call CheckError(SetStrProp(pidSendCommand, "WAVE:CURR" &Space(1) &CStr("stromwert"))
zunächst hole ich mir aus der Eingabezeile den Zahlenwert als String und wandle diesen in eine Doublezahl um. Dann muss eine Einheitenanpassung durchgeführt werden (/1000), um diese Zahl dann passend an ein Gerät weiter zu leiten.

Leider wird die Doublezahl so gespeichert: 0,125 ... das Gerät benötigt aber die Zahl im Format "0.125" , da das Komma hier als Trennzeichen gesehn wird.

Gibt es einen Befehl in Basic um diese Format zu ändern?

Ich arbeite nicht mit Excel! Also ist ein umschreiben von Zeichen so direkt nicht möglich.
 

Mat

Well-Known Member
c-b Experte
#2
Könntest entweder eine Ersetzungsfunktion drüberlaufen lassen (Komma durch Punkt austauschen), oder schauen ob es möglich ist, das internationale Format für den Wert zu aktivieren.

Aber muss der stromwert als String versendet werden? Also was wäre, wenn du die Variable stromwert direkt ohne CStr und ohne Anführungszeichen weitergeben würdest? Die Zahl ist ja auf unterster Ebene immer die gleiche Zahl, egal ob mit Komma oder Punkt..das sind ja nur String-Repräsentationen des Wertes.
 
#3
Ja genau um so eine mögliche Ersetzfunktion zum Beispiel geht es. In VBA in Excel wäre es klar, nur ist die Sprache halt SAX Basic und da habe ich bisher so eine Funktion nicht gefunden. Dachte es gibt evtl so eine Art "allgemeine" Funktion die grundsätzlich in Basic gilt.

Ja es muss ein String übergeben werden, ansonsten reagiert das Netzgerät nicht.
 

Mat

Well-Known Member
c-b Experte
#4
Ok, schade. Dann versuche mal:
Replace$(stromwert, ",", ".")

Achtung: Wenn es zu Tausendertrennzeichen kommen kann, zum Beispiel "2.500,99", solltest du das entsprechend anpassen zu: Replace$(Replace$(stromwert, ".", ""), ",", "."). Aber damit solltest du auch sehr vorsichtig sein, falls es möglich ist, dass du international formatierte Zahlenstrings bekommst.
 
Oben