Autor |
Beitrag |
Henry
      
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Di 10.06.03 20:02
Hallo,
habe da ein kleines Problem mit der Formatierung eine Reavariablel in einen String
Ich formatiere mir meine Realvariable wie folgt:
Delphi-Quelltext
Soweit auch in Ordnung. Es funktioniert.
Nun möchte ich aber das mir meine Realvariable in einen String Formatiert wird mit drei Stellen vor dem Komma und einer nach dem Komma (wie ich es ja auch formatiert habe) allerdings mit einer Vornoll wenn das ergebnis der Realvariablen nur zwei oder einstellig ist. Brauche nämlich auf jeden Fall füllende Vornullen.
Wie kann ich das lösen? Dagiebt es doch bestimmt so eine Funktion wie ich sie verwendet habe, oder?
Danke schon einmal im voraus.
Edit: Habe den Titel umbenannt (siehe Hinweis Luckie) und den Text angepasst Hatte mich vorher geirrt und Integer geschrieben
_________________ mfg Henry
Zuletzt bearbeitet von Henry am Mi 11.06.03 06:39, insgesamt 1-mal bearbeitet
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Di 10.06.03 20:06
Delphi-Quelltext 1: 2:
| if kmh<100 then Tempo := '0'+Tempo; if kmh<10 then Tempo := '0'+Tempo; |
So würde ich es jetzt auf die schnelle machen. Guck gleich nochmal wegen Format...
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 10.06.03 20:17
Ein Integer hat keine Nachkommastellen und was nicht da ist, kann man nicht formatieren. So einfach ist das.
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Di 10.06.03 20:20
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Henry 
      
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Mi 11.06.03 06:34
@Luckie: Sorry, hast natürlich recht, Integer hat keine Nachkommastellen
Die Variable ist natürlich vom Typ Real, hatte da was durcheinandergebraxht.
@Tweafis: werde ich mir mal zu gemüte führen, danke erstmal.
_________________ mfg Henry
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Mi 11.06.03 07:23
Ich hab das mit den Formatsstrings einfach mal so aus der Hilfe zusammeneschustert.
ich weiß jetzt nicht:
a) ob es f,g oder n ist (der Formatbuchstabe)
b) Wie das mit den Nullen ist (wird das ',' als stelle gerechnet?)
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
maxk
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: Mi 11.06.03 07:45
Delphi-Quelltext 1: 2: 3: 4:
| function Nullen(Str:string;MaxZeichen:integer):string; begin Result:=StringOfChar('0',MaxZeichen-Length(Str))+Str; end; | Damit klappen die Nullen!
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
|
|
Henry 
      
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Mi 11.06.03 18:26
Danke euch erstmal allen.
Die erste Version von Tweafis hat erstmal funktioniert.
Werde aber mal die von maxk auch noch probieren.
Was mir noch lieber wäre, ist eine Funktion (wie z.B. ich si oben angegeben hatte) die das gleich alles mit einmal macht. Also wenn ich angebe 5 Stellen vor dem Komma dann sollte sie den rst mit Vornullen direkt aufführen odhne das man noch eine andere Funktion zusätzlich braucht.
Aber das scheint es nicht wirklich zu geben.
Aber ich habe ja jetzt funktionierende Möglichkeiten.
_________________ mfg Henry
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: Do 12.06.03 23:08
Hab mal versucht das ganze als einen Befehl hinzubekommen.
(OK, indirekt sind es schon mehrere)
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var digits, precision : Integer; begin digits := 5; precision := 3; Edit1.Text := Format('%0.'+IntToStr(digits)+'d', [Trunc(x)]) +Copy(FloatToStrF(Frac(x),ffFixed,15,13) ,Pos(decimalseparator,FloatToStrF(Frac(x),ffFixed,15,13)) ,precision+1); end; |
X ist hier ein Real-Wert.
Probleme könnten bei Digit-Überschreitungen auftreten, oder wenn der Nachkommateil in das Wissenschaftliche Format umbricht.
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|
Henry 
      
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Fr 13.06.03 18:10
Danke, werde ich mich mal mit befassen.
_________________ mfg Henry
|
|