|
| FloatToStr Fra : Morten Vahlkvist |
Dato : 08-08-01 11:09 |
|
Kan FloatToStr sættes op til at lave "leading spaces" så
2,0 oversættes til " 2,0" og
12,3 oversættes til " 12,3"
Eller skal jeg ind og se på længden af resultatet og manuelt indsætte
mellemrum
Morten
| |
Thomas Rose (08-08-2001)
| Kommentar Fra : Thomas Rose |
Dato : 08-08-01 11:49 |
|
Hej Morten,
prøv at tage et kig på Format funktionen... den kan konvertere floats til
strings hvor du kan angive antallet af leading spaces og antallet af
decimaler.
Cheers,
Thomas
"Morten Vahlkvist" <mv@3d.dk> wrote in message
news:3B710FBE.7051B79E@3d.dk...
> Kan FloatToStr sættes op til at lave "leading spaces" så
> 2,0 oversættes til " 2,0" og
> 12,3 oversættes til " 12,3"
>
> Eller skal jeg ind og se på længden af resultatet og manuelt indsætte
> mellemrum
>
> Morten
| |
Morten Vahlkvist (08-08-2001)
| Kommentar Fra : Morten Vahlkvist |
Dato : 08-08-01 12:16 |
|
Jeg har nu forsøgt mig med:
Float1:=2,5;
String1:=FormatFloat('###0.0',Float1);
resultat:
String1='2,5' og ikke ' 2,5' som ønsket
Jeg kan ikke se noget om leading spaces i FormatFloat funktionen.
Morten
Thomas Rose wrote:
>
> Hej Morten,
>
> prøv at tage et kig på Format funktionen... den kan konvertere floats til
> strings hvor du kan angive antallet af leading spaces og antallet af
> decimaler.
>
> Cheers,
> Thomas
>
> "Morten Vahlkvist" <mv@3d.dk> wrote in message
> news:3B710FBE.7051B79E@3d.dk...
> > Kan FloatToStr sættes op til at lave "leading spaces" så
> > 2,0 oversættes til " 2,0" og
> > 12,3 oversættes til " 12,3"
> >
> > Eller skal jeg ind og se på længden af resultatet og manuelt indsætte
> > mellemrum
> >
> > Morten
| |
Thomas Rose (08-08-2001)
| Kommentar Fra : Thomas Rose |
Dato : 08-08-01 13:50 |
|
Hej igen,
du har vist misforstået... der er en specifik funktion i SysUtils-modulet
(følger med Delphi) der hedder "Format" (og altså ikke den ellers udemærkede
"FormatFloat").
Funktionen tager en streng man ønsker at få formateret, og en række
argumenter til at foretaget formateringen med... eksempel:
format('%8.2f', [12.34]);
Jeg vil ikke forklare alle detajler, da de kan læses i Delphi's hjælp.
Strengen der skal formateres indeholder et '%'-tegn der angiver, at her skal
en af argumenterne indsættes (det første i den efterfølgende liste). '8.2f'
angiver at der er tale om en float ('f'), og at hele tallet skal fylde
mindst 8 tegn, med 2 decimaler. Dvs. resultatet bliver (vist som streng):
' 12.34'
dvs. med 3 indledende whitespaces... tallene + decimaltegnet fylder 5 tegn,
så 8 - 5 = 3 overskydende tegn. Dvs. skal dine tal altid have en bestemt
min. længde, er denne funktion perfekt. Istedet for de 8 i ovenstående
eksempel, indsætter du bare den ønskede længde.
Håber de kan bringe dig i mål.
Mvh.
Thomas
"Morten Vahlkvist" <mv@3d.dk> wrote in message
news:3B711F7F.EE6CB97C@3d.dk...
> Jeg har nu forsøgt mig med:
> Float1:=2,5;
> String1:=FormatFloat('###0.0',Float1);
>
> resultat:
> String1='2,5' og ikke ' 2,5' som ønsket
>
> Jeg kan ikke se noget om leading spaces i FormatFloat funktionen.
>
> Morten
>
> Thomas Rose wrote:
> >
> > Hej Morten,
> >
> > prøv at tage et kig på Format funktionen... den kan konvertere floats
til
> > strings hvor du kan angive antallet af leading spaces og antallet af
> > decimaler.
> >
> > Cheers,
> > Thomas
> >
> > "Morten Vahlkvist" <mv@3d.dk> wrote in message
> > news:3B710FBE.7051B79E@3d.dk...
> > > Kan FloatToStr sættes op til at lave "leading spaces" så
> > > 2,0 oversættes til " 2,0" og
> > > 12,3 oversættes til " 12,3"
> > >
> > > Eller skal jeg ind og se på længden af resultatet og manuelt indsætte
> > > mellemrum
> > >
> > > Morten
| |
Morten Vahlkvist (08-08-2001)
| Kommentar Fra : Morten Vahlkvist |
Dato : 08-08-01 13:58 |
|
Fandt den i mellemtiden, og fik det til at virke.
Tak for hjælpen
Morten
Thomas Rose wrote:
>
> Hej igen,
>
> du har vist misforstået... der er en specifik funktion i SysUtils-modulet
> (følger med Delphi) der hedder "Format" (og altså ikke den ellers udemærkede
> "FormatFloat").
>
> Funktionen tager en streng man ønsker at få formateret, og en række
> argumenter til at foretaget formateringen med... eksempel:
>
> format('%8.2f', [12.34]);
>
> Jeg vil ikke forklare alle detajler, da de kan læses i Delphi's hjælp.
> Strengen der skal formateres indeholder et '%'-tegn der angiver, at her skal
> en af argumenterne indsættes (det første i den efterfølgende liste). '8.2f'
> angiver at der er tale om en float ('f'), og at hele tallet skal fylde
> mindst 8 tegn, med 2 decimaler. Dvs. resultatet bliver (vist som streng):
>
> ' 12.34'
>
> dvs. med 3 indledende whitespaces... tallene + decimaltegnet fylder 5 tegn,
> så 8 - 5 = 3 overskydende tegn. Dvs. skal dine tal altid have en bestemt
> min. længde, er denne funktion perfekt. Istedet for de 8 i ovenstående
> eksempel, indsætter du bare den ønskede længde.
>
> Håber de kan bringe dig i mål.
>
> Mvh.
> Thomas
>
> "Morten Vahlkvist" <mv@3d.dk> wrote in message
> news:3B711F7F.EE6CB97C@3d.dk...
> > Jeg har nu forsøgt mig med:
> > Float1:=2,5;
> > String1:=FormatFloat('###0.0',Float1);
> >
> > resultat:
> > String1='2,5' og ikke ' 2,5' som ønsket
> >
> > Jeg kan ikke se noget om leading spaces i FormatFloat funktionen.
> >
> > Morten
> >
> > Thomas Rose wrote:
> > >
> > > Hej Morten,
> > >
> > > prøv at tage et kig på Format funktionen... den kan konvertere floats
> til
> > > strings hvor du kan angive antallet af leading spaces og antallet af
> > > decimaler.
> > >
> > > Cheers,
> > > Thomas
> > >
> > > "Morten Vahlkvist" <mv@3d.dk> wrote in message
> > > news:3B710FBE.7051B79E@3d.dk...
> > > > Kan FloatToStr sættes op til at lave "leading spaces" så
> > > > 2,0 oversættes til " 2,0" og
> > > > 12,3 oversættes til " 12,3"
> > > >
> > > > Eller skal jeg ind og se på længden af resultatet og manuelt indsætte
> > > > mellemrum
> > > >
> > > > Morten
| |
|
|