Musst du handschnitzen ;)
string DoubleToFormat(double _value, int _nullen, int _digits) { string str = DoubleToString(_value,_digits); while(StringFind(str,".")<_nullen) str="0"+str; return(str); } void OnStart() { int intValue = 2; double dblValue = 5; string strValue; strValue = DoubleToFormat(dblValue,2,3); Print(strValue); strValue = DoubleToFormat(intValue,3,2); Print(strValue); }
Mit kleinen Variationen hast du damit ein Tool für Stringmanipulationen.
Otto Pauser:
Musst du handschnitzen ;)
Mit kleinen Variationen hast du damit ein Tool für Stringmanipulationen.
Seufz - wirklich?
C und C++ gibt es jetzt schon soooo lange und dafür keine Lösung? Ist doch nun wirklich keine exostische Vorstellung!
Ich habe die Lösung bekommen, eigentlich ganz einfach:
int digs = 2; string fmt = StringFormat("%%0%d.%df",3+digs,digs); string strVal = StringFormat(fmt,9.123456678);
Ich hatte die Vorstellung von %05i und hab daher vegliche das versucht (mit % am falschen Platz):
int digs = 2; string fmt = StringFormat("%%%0i.%df",3+digs,digs); string strVal = StringFormat(fmt,9.123456678);Manchmal steht man sich einfach selber im Weg :(

Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo,
weiß jemand zufällig, wie man die Anzahl der 'Ganzen' eines Double-Wertes inkl. führender Nullen in einer String Variablen speichert?
So funktioniert das mit den Nachkommastellen:
Das ergibt: 9.12.
Wie kriege ich jetzt aber ein: 09.12?
Google findet tausendfach nur die Basisversion, F1 (ich benutze das auch;) bietet immerhin die obige Lösung.
Mit diesem Versuch kriege ich leider nur 9.12:
Alles sonst probierte für zu nix Vernünftiges :(
Das bringt auch nur 9.12: