INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

String Umwandlung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.05.2025, 16:42 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2025 16:46 von GerdW.)
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.509
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

10×××
Deutschland
RE: String Umwandlung
Hallo simcum,

noch ein Nachtrag zu deinem:
Zitat:Mein Ziel ist es nur den Numerischen Wert mit den existierenden nachkommastellen in einen String umzuwandeln.
So sieht dein Zahlenwert aus dem VI aus Beitrag #1 aus:
   
Jetzt erkläre mir bitte nochmal die Anforderung, die "existierenden Nachkommastellen" in einen String zu formatieren!

Was sind für dich "existierende" vs. "arbiträr definierte" vs. "gerundete" Nachkommastellen in deinem Zahlenbeispiel?
Wie definierst du diese unterschiedlichen Fälle?
Und wie passen diese Definitionen zu deiner (bisher sehr ungenauen) Anforderung?
Und ganz wichtig: wo genau kommt der Zahlenwert her? Wie "genau" ist die Datenquelle? (Kommt der Wert vielleicht von einem DAQ-Gerät mit 16bit Auflösung? Dann würden dir auch 5 signifikante Ziffern genügen!)

Beim Programmieren (nicht nur LabVIEW, sondern immer) geht es um genau definierte Anforderungen - und nebenbei schadet es nicht, etwas über die dabei verwendeten Datentypen zu wissen…

P.S.: In meiner Signatur stehen schon seit Jahren (Jahrzenhnten?) diverse Links, u.a. auch "FP numerics". Warum wohl? ;-)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.05.2025, 17:47
Beitrag #12

simcum Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: String Umwandlung
Hallo GerdW,

nur um es klar zu stellen, in meinem Code mache ich die Berechnungen natürlich mit numerischen Werten.
Nach der Berechnung wandele ich diese in einen Stringformat um und speichere diese mit write to spreadfile Funktion als txt file ab.
Die Umwandlung in ein Stringformat mache ich deshalb, weil ich auch zusätzlich zu den Werten einen Header als Info z.B. Parameter oder Kanalnamen etc. mit abspeichere.
Das alles übergebe ich in einen 2D Stringarray welches dann gespeichert wird. Nur wie schon geschrieben wird bei der Umwandlung meiner numerischen Werte in Stringwerte die Kommastellen gekürzt.
Die letzte Kommastelle hat dann einen Rundungsfehler.

Was ich erreichen wollte war lediglich alle numerischen Werte mit den vorhandenen kommastellen ohne Kürzung und Rundung 1:1 in Stringwerte umzuwandeln, und abzuspeichern.

Wenn ich jetzt mindesten 10 Kommastellen haben möchte, von mir aus kann die 10.Kommastelle einen Rundungsfehler haben, ist es in Ordnung die numerischen Werte mit dem Format %0.10f umzuwandeln?

Das soll meine letzter Eintrag zu diesem Thema sein.


Bedanke mich

Gruß

Simcum
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2025, 19:24 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2025 19:25 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.509
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

10×××
Deutschland
RE: String Umwandlung
Hallo simcum,

Zitat:Was ich erreichen wollte war lediglich alle numerischen Werte mit den vorhandenen kommastellen ohne Kürzung und Rundung 1:1 in Stringwerte umzuwandeln, und abzuspeichern.
Dann müsstest du bei DBL-Werten mit 16 signifikanten Ziffern abspeichern (und dabei immer noch Rundung in Kauf nehmen)…

Zitat:Wenn ich jetzt mindesten 10 Kommastellen haben möchte, von mir aus kann die 10.Kommastelle einen Rundungsfehler haben, ist es in Ordnung die numerischen Werte mit dem Format %0.10f umzuwandeln?
   
Reicht dir das aus? (Der Zahlenwert wird an der 7. signifikanten Ziffer gerundet…)

Wieder: was sind deine Anforderungen?
Konkret: welchen Zahlenbereich musst du abdecken?
Nochmal: hast du schon über %e oder %g nachgedacht?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2025, 06:42
Beitrag #14

simcum Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: String Umwandlung
(08.05.2025 19:24 )GerdW schrieb:  Hallo simcum,

Zitat:Was ich erreichen wollte war lediglich alle numerischen Werte mit den vorhandenen kommastellen ohne Kürzung und Rundung 1:1 in Stringwerte umzuwandeln, und abzuspeichern.
Dann müsstest du bei DBL-Werten mit 16 signifikanten Ziffern abspeichern (und dabei immer noch Rundung in Kauf nehmen)…

Zitat:Wenn ich jetzt mindesten 10 Kommastellen haben möchte, von mir aus kann die 10.Kommastelle einen Rundungsfehler haben, ist es in Ordnung die numerischen Werte mit dem Format %0.10f umzuwandeln?

Reicht dir das aus? (Der Zahlenwert wird an der 7. signifikanten Ziffer gerundet…)

Wieder: was sind deine Anforderungen?
Meine Anforderungen sind Messwerte in nV Bereich ohne Umrechnung abzuspeichern. mindestens 7. Kommastelle ohne Rundungsfehler.
Dazu wird ein NannoVoltmeter verwendet, der für solche Messungen geeignet ist.
Leider können die Daten aus dem Messgerät nur als Stringwerte ausgelesen werden.
Ich habe einen Screenshot eingefügt der den prinzipiellen Ablauf verdeutlicht inklusive der Formatierung mit 10. Kommastellen.
Wenn das irgendwie besser umzusetzen ist, bin ich für Vorschläge Dankbar.


Konkret: welchen Zahlenbereich musst du abdecken?
Ist oben bereits beantwortet.

Nochmal: hast du schon über %e oder %g nachgedacht?
%e kommt nicht in Frage, das will keiner sehen, wenn die Werte in der Speicherdatei begutachtet werden müssen, das verwirrt einen nur.
%g ist eine automatische Formatierung, aus der Hilfe: "Bei g wird je nach zu formatierender Zahl zwischen Exponential- oder Fließkommaschreibweise gewählt"
genau die selbe Begründung wie bei %e.

Danke nochmals


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2025, 08:26 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2025 08:27 von GerdW.)
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.509
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

10×××
Deutschland
RE: String Umwandlung
Hallo simcum,

Zitat:Meine Anforderungen sind Messwerte in nV Bereich ohne Umrechnung abzuspeichern. mindestens 7. Kommastelle ohne Rundungsfehler.
Dazu wird ein NannoVoltmeter verwendet, der für solche Messungen geeignet ist.
Dein Messgerät liefert laut Screenshot nur 9 signifikante Ziffern…

Zitat:Leider können die Daten aus dem Messgerät nur als Stringwerte ausgelesen werden.
Die könntest du sofort in deine Ausgabedatei speichern…
(Verwendet aber auch die %e-Formatierung, wie es sich für ein ordentliches Messgerät gehört.)

Zitat:Ich habe einen Screenshot eingefügt der den prinzipiellen Ablauf verdeutlicht inklusive der Formatierung mit 10. Kommastellen.
Wenn es für deine Auftraggeber passt, dann ist das gut…
Immer im Hinterkopf haben: du hast bei float-Werten IMMER Rundungsfehler (in der Dezimaldarstellung bei Werten wie dem von dir gezeigten), von daher ist die Anforderung "ohne Rundungsfehler" unsinnig!

Zitat:Konkret: welchen Zahlenbereich musst du abdecken?
Ist oben bereits beantwortet.
Du hast bisher nur einen einzigen konkreten Zahlenwert genannt.
Und der liegt bei ~19, ohne Angabe einer Einheit.
"Nanovolt-Werte" würde ich eher im Bereich 1e-9 bis 1e-7 vermuten…

Zitat:das will keiner sehen, wenn die Werte in der Speicherdatei begutachtet werden müssen, das verwirrt einen nur.
Ich weiß ja nicht, in welchem Bereich (Forschung, R&D, Kalibrierung) du arbeitest.
Aber Werte mit 10 Nachkommastellen abzuspeichern und dann nicht mit dem Engineering-Format zu arbeiten weil es "verwirrt", passt für mich nicht zusammen.

Ihr arbeitet mit einem Messgerät, dass laut der hier diskutierten Zahlenwerte einen ADC mit ~30bit Auflösung verwenden müsste, und wir diskutieren über float-Basics und ihre Begrenzungen? (Kannst du mal ein Specsheet des Messgeräts verlinken? Das Messgerät liefert eine Auflösung im Attovolt-Bereich, wenn der Messwert 18.8046074nV darstellen soll?)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2025, 10:30
Beitrag #16

simcum Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: String Umwandlung
(09.05.2025 08:26 )GerdW schrieb:  Hallo simcum,

Zitat:Meine Anforderungen sind Messwerte in nV Bereich ohne Umrechnung abzuspeichern. mindestens 7. Kommastelle ohne Rundungsfehler.
Dazu wird ein NannoVoltmeter verwendet, der für solche Messungen geeignet ist.
Dein Messgerät liefert laut Screenshot nur 9 signifikante Ziffern…

Zitat:Leider können die Daten aus dem Messgerät nur als Stringwerte ausgelesen werden.
Die könntest du sofort in deine Ausgabedatei speichern…
Ich muss aber als zwischenschritt Mittelwertbildung realisieren.
(Verwendet aber auch die %e-Formatierung, wie es sich für ein ordentliches Messgerät gehört.)

Zitat:Ich habe einen Screenshot eingefügt der den prinzipiellen Ablauf verdeutlicht inklusive der Formatierung mit 10. Kommastellen.
Wenn es für deine Auftraggeber passt, dann ist das gut…
Immer im Hinterkopf haben: du hast bei float-Werten IMMER Rundungsfehler (in der Dezimaldarstellung bei Werten wie dem von dir gezeigten), von daher ist die Anforderung "ohne Rundungsfehler" unsinnig!
Verstehe sicher, solange der Rundungsfehler die letzte Kommastelle betriftt (in unserem Fall ab dem 7.) ist es nicht von Bedeutung.
Ich nehme 10 Kommastellen und unterdrücke die eventuell erzeugten Null Werte

Zitat:Konkret: welchen Zahlenbereich musst du abdecken?
Ist oben bereits beantwortet.
Du hast bisher nur einen einzigen konkreten Zahlenwert genannt.
Und der liegt bei ~19, ohne Angabe einer Einheit.
Das ist nur ein Beispielwerte was ich erstellt habe, welches der Ausgabe vom Messgerät entspricht.
So sieht ein Messwert z. B. aus: +4,622E-08
Einheit ist Volt also 0.0000000462V, hier darf bis zur 9. Kommastelle nicht gerundet werden damit der nV Bereich so bestehen bleibt.

"Nanovolt-Werte" würde ich eher im Bereich 1e-9 bis 1e-7 vermuten…

Genauso ist es auch

Zitat:das will keiner sehen, wenn die Werte in der Speicherdatei begutachtet werden müssen, das verwirrt einen nur.
Ich weiß ja nicht, in welchem Bereich (Forschung, R&D, Kalibrierung) du arbeitest.
Aber Werte mit 10 Nachkommastellen abzuspeichern und dann nicht mit dem Engineering-Format zu arbeiten weil es "verwirrt", passt für mich nicht zusammen.
Ja da hast du zwar recht aber so wollen die es haben.

Ihr arbeitet mit einem Messgerät, dass laut der hier diskutierten Zahlenwerte einen ADC mit ~30bit Auflösung verwenden müsste, und wir diskutieren über float-Basics und ihre Begrenzungen? (Kannst du mal ein Specsheet des Messgeräts verlinken? Das Messgerät liefert eine Auflösung im Attovolt-Bereich, wenn der Messwert 18.8046074nV darstellen soll?)

Im Attovoltbereich ja aber wir arbeiten im Nanovoltbereich

Hoffe das ist jetzt klarer rübergekommen.

Danke nochmals für deine Unterstützung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Umwandlung String in Zeitstempel simcum 3 3.153 14.02.2023 17:41
Letzter Beitrag: Achim
  Schönheitsfehler Ring implizite Umwandlung LabViewer12 1 3.906 21.01.2017 17:12
Letzter Beitrag: GerdW
  Umwandlung Hexa in IEEE754 Gesetzt 4 6.050 28.11.2016 19:24
Letzter Beitrag: Gesetzt
  Umwandlung von VI-Versionen michifu 4 5.734 15.04.2014 10:11
Letzter Beitrag: michifu
  Umwandlung Hex in Dezimal Holg 5 11.668 04.12.2013 13:18
Letzter Beitrag: Holg
  Umwandlung von Grad Celsius in Kelvin TiCy 24 20.533 29.01.2013 14:07
Letzter Beitrag: Kiesch

Who read this thread?
9 User(s) read this thread:
MScz, Woodeye, th13, cordm, TpunktN, IchSelbst, Martin.Henz, simcum, GerdW

Gehe zu: