LabVIEWForum.de - String-Darstellung einer Fließkommazahl

LabVIEWForum.de

Normale Version: String-Darstellung einer Fließkommazahl
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
<div align="left">wunderschönen Abend,

ich möchte gern ein Double als String nach folgendem Schema darstellen: </div>
Code:
1.000000e+000 MM
<div align="left">, also in Exponentialdarstellung mit grundsätzlich 6 Dezimalstellen und 3 Stellen im Exponenten mit Vorzeichen.
Bei mir ist das "," als Dezimaltrennzeichen eingestellt. Es soll aber ein Punkt geschrieben werden.
Falls es möglich ist, sollte das "e" klein geschrieben werden, was aber nicht so zwingend ist.
Wie muss mein Format-String bei "Wert formatieren" aussehen? In der Hilfe ist das für meinen Fall irgendwie nicht ausreichend beschrieben.
Bis jetzt hab ich nur sowas zustande gebracht.:</div>
Code:
%.;%.6e
<div align="left">Da wird aber immer noch das "e" groß geschrieben und es wird nur eine Stelle im Exponenten angezeigt. Vielleicht weiß ja jemand noch eine elegantere Lösung.

Außerdem würde ich gern einen String in Großbuchstaben formatieren.

Danke.

Grüße
SchwindelInsisde</div>
Mach doch ein String-Indicator daraus und schreibe dorthin alles, was du willst.

Gruss, Eugen
Hi,

hilft dir das weiter?

[attachment=3471]

Das große "E" kannst du ja mit "Search and Replace String" ersetzen

Gruss
Achim


PS: Auf der String-Palette gibt es dass VI "To upper case", dass erzeugt GROSSBUCHSTABEN!
<div align="left">vielen Dank für die Antworten,

' schrieb:Mach doch ein String-Indicator daraus und schreibe dorthin alles, was du willst.

Tut mir leid. Ich versteh hier leider nur Bahnhof. Das ganze soll doch automatisch ablaufen. Jede beliege Zahl aus einem Double-Controll soll in einen Stringtext exakt im oben beschriebenen Format eingefügt werden. Diesen Text kann ich natürlich über einen String-Indicator ausgeben. Aber ich will da nicht mehr manuell drin rum kritzeln. Dazu brauch ich doch nichts zu programmieren.
Das exakte Format der Zahlendarstellung ist wichtig da es zum Header eines Dateiformates gehört. In diesem Format möchte ich unzählige Dateien automatisch erzeugen.
Trotzdem Danke.

@Achim: Danke. Die Idee hatte ich auch schon, aber wenn ich da einfach nur zwei Nullen hinten dran hänge wird ja der Exponent praktisch verhundertfacht. Ich möchte nicht wissen, wie das Programm, das die Datei mit diesem Header importiert, auf diesen Wert in völlig abwegiger Größenordnung reagiert. Der Wert soll ja nicht verfälscht sondern nur anders dargestellt werden. Wenn dann müssen die zwei Nullen vor die Exponentziffer, aber nur sollange der Exponent einstellig ist. Der Exponent soll aber grundsätzlich eine Darstellungsbreite von 3 haben, unabhängig von seinem Wert und unbhängig von der Zahl seiner signifikanten Stellen, linksbündig mit Nullen aufgefüllt.

' schrieb:Auf der String-Palette gibt es dass VI "To upper case", dass erzeugt GROSSBUCHSTABEN!

Danke. Da hätte ich auch einfach nur mal meine Augen offen halten müssen.

Ich versuch es nochmal zu erläutern: Eine beliebiger Double-Wert wie z.B. 12345,6 soll in folgender Form dargestellt werden: 1.234560e+004

Soweit bin ich bis jetzt gekommen.:

[attachment=3481]

Damit wird obiger Wert so dargestellt: 1.234560e+4 . Nun fehlt nur noch die linksbündig Auffüllung mit Nullen auf Darstellungsbreite 3 im Exponenten.

Laut Hilfe soll das ja zumindest außerhalb des Exponenten mit %-03 gehen. Das funktioniert bei mir aber nicht.

Ich wäre sehr dankbar, wenn mir da jemand helfen könnte.

Grüße
SchwindelInside</div>
Hi,

das geht sicher auch eleganter, aber...


[attachment=3476]
Gruss
Achim
' schrieb:hilft dir das weiter?
Die linke Hälfte des VI ist gut, aber wenn Du an den String dann 2 Nullen anhängst, entspricht das einer Multiplikation der vorher richtigen Zahl mit 10 hoch 100. Hier muß man schon etwas mehr Aufwand treiben, wenn der Exponent 3stellig sein soll, d.h z.B. wenn der String z.zzzzzz+Ez in z.zzzzzz+E00z umgewandelt werden soll. So müßte es funktionieren (LV8):
[attachment=3482]

Edit: Entschuldige Achim, habe nicht bemerkt, daß Du dich inzwischen selbst korrigiert hast,
Auf dem Klo fiel mir noch ein Lösung ein, die an Einfachheit vermutlich nicht mehr zu überbieten ist:
[attachment=3484]
' schrieb:Auf dem Klo fiel mir noch ein Lösung ein, die an Einfachheit vermutlich nicht mehr zu überbieten ist:
[attachment=29550:attachment]

Vielen Danke für die Lösung. War lange nicht mehr hier im Forum. So ähnlich hab ich das nun auch realisiert.
Auch allen anderen Antwortern noch mal vielen Dank.

Gruß
SchwindelInside
Referenz-URLs