Werbung

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Umwandlung Zahlenformat SAX Basic

Dieses Thema im Forum "Visual Basic, Visual Basic for Applications (VBA) " wurde erstellt von ITZler, 2. Mai 2017.

  1. ITZler

    ITZler New Member

    Hallo,

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

    Code (Visual Basic):
    Quelltext kopieren
    1. stromwert = CDbl(DlgText("StTrig"))
    2. stromwert = stromwert/1000
    3.      
    4. 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.
  2. coding-board

    coding-board Member

    Werbung
  3. Mat

    Mat Active Member c-b Experte

    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.
  4. ITZler

    ITZler New Member

    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.
  5. Mat

    Mat Active Member c-b Experte

    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.
Die Seite wird geladen...
Ähnliche Themen - Umwandlung Zahlenformat SAX Forum Datum
Typumwandlung C/C++ 16. Januar 2016
Umwandlung: nur Kleinbuchstaben in Array Java 19. Dezember 2015
Umwandlung Dezimal in ASCII Off Topic 25. Februar 2012
[VBA -> VB6] Umwandlung eines VBA-Projektes in ein VB6-Projekt! ... Hilfe ^^ Visual Basic, Visual Basic for Applications (VBA) 29. März 2010
Problem bei Umwandlung in Binärdatei C/C++ 27. März 2009