/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Double to String
Fra : P.L.


Dato : 19-08-01 07:53

Hej NG

Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi således "." bevares, dvs. bliver
'5.25' og IKKE '5,25'.

FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder FormatFloat('0.00', 5.25)

P.L.



 
 
Rasmus Klitgaard-Nie~ (19-08-2001)
Kommentar
Fra : Rasmus Klitgaard-Nie~


Dato : 19-08-01 11:02

P.L. wrote:
> Hej NG
>
> Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi således "." bevares, dvs. bliver
> '5.25' og IKKE '5,25'.
>
> FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder FormatFloat('0.00', 5.25)
>
Det har vist desværre noget med sprogindstillingerne at gøre...
du kunne jo prøve:

function FloatToDotString(value:Float):String;
var tmp:string;
begin
tmp:=FloatToStr(value);
if pos(',',tmp)>0 then
tmp[pos(',',tmp)]:='.';
result:=tmp;
end;

...den vil ihvertfald altid give et tal med "."

> P.L.
>
>
>



--
>o ********* PINKY! aka. Rasmus Klitgaard-Nielsen *********
<()> **** Mad Programmer - Commodore Freak - ABP regular ****
^^ "Can't sing. Can't dance. Can handle a sword a little."
-- Victor's resume (Terry Pratchett, Moving Pictures)


P.L. (19-08-2001)
Kommentar
Fra : P.L.


Dato : 19-08-01 11:08

Hej Rasmus

Tak for dit hurtige svar.

Meeen....
Du skriver: "Det har vist desværre noget med sprogindstillingerne at gøre...", det er jeg ganske
godt klar over og jeg har også løst næsten på den måde, du har anvist, men jeg er sikker på, at er
der en mere fiks måde.

P.L.


Rasmus Klitgaard-Nielsen" <pinky@cs.auc.dk> skrev i en meddelelse news:3B7F8EA6.7050907@cs.auc.dk...
> P.L. wrote:
> > Hej NG
> >
> > Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi således "." bevares, dvs. bliver
> > '5.25' og IKKE '5,25'.
> >
> > FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder FormatFloat('0.00', 5.25)
> >
> Det har vist desværre noget med sprogindstillingerne at gøre...
> du kunne jo prøve:
>
> function FloatToDotString(value:Float):String;
> var tmp:string;
> begin
> tmp:=FloatToStr(value);
> if pos(',',tmp)>0 then
> tmp[pos(',',tmp)]:='.';
> result:=tmp;
> end;
>
> ..den vil ihvertfald altid give et tal med "."
>
> > P.L.
> >
> >
> >
>
>
>
> --
> >o ********* PINKY! aka. Rasmus Klitgaard-Nielsen *********
> <()> **** Mad Programmer - Commodore Freak - ABP regular ****
> ^^ "Can't sing. Can't dance. Can handle a sword a little."
> -- Victor's resume (Terry Pratchett, Moving Pictures)
>



Claus Christiansen (19-08-2001)
Kommentar
Fra : Claus Christiansen


Dato : 19-08-01 11:05

"P.L." <jessie-peter@get2net.dk> wrote in
news:3b7f62c4$0$97064$edfadb0f@dspool01.news.tele.dk:

> Hej NG
>
> Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi
> således "." bevares, dvs. bliver '5.25' og IKKE '5,25'.
>
> FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder
> FormatFloat('0.00', 5.25)
>
> P.L.
>
DecimalSeparator := '.';
s := format('%f', [2.42]);

vil jeg tro, men det er efter min biologiske computer...

/Claus


--
Claus Christiansen, <mailto:cch@unipeople.dk>

personal: http://www.bigfoot.com/~kruc/; pythia: http://www.pythia.dk
============================================--------------------------
"Computers are useless. They can only give you answers."
- Pablo Picasso (1881-1973)

R. A. Larsen (19-08-2001)
Kommentar
Fra : R. A. Larsen


Dato : 19-08-01 12:42

"P.L." <jessie-peter@get2net.dk> wrote:
>
> Hej NG
>
> Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi
således "." bevares, dvs. bliver
> '5.25' og IKKE '5,25'.
>
> FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder
FormatFloat('0.00', 5.25)

Du kan sætte DecimalSeparator til '.' og derpå bruge
FloatToStr(5.25) eller FormatFloat('0.00', 5.25).

MVH, René
--
Using Virtual Access
http://www.vamail.com


Thomas Due (20-08-2001)
Kommentar
Fra : Thomas Due


Dato : 20-08-01 07:19

> Du kan sætte DecimalSeparator til '.' og derpå bruge
> FloatToStr(5.25) eller FormatFloat('0.00', 5.25).

Husk at sætte den tilbage igen.

function DoubleToStr(Const Value : String) : Double;
Var
OldSep : Char;
Begin
OldSep := DecimalSeparator;
DecimalSeparator := '.';
Result := StrToFloat(Value);
DecimalSeparator := OldSep;
End;

Mvh
Thomas

R. A. Larsen (20-08-2001)
Kommentar
Fra : R. A. Larsen


Dato : 20-08-01 18:32

tdue@eon.dk (Thomas Due) wrote:
>
> > Du kan sætte DecimalSeparator til '.' og derpå bruge
> > FloatToStr(5.25) eller FormatFloat('0.00', 5.25).
>
> Husk at sætte den tilbage igen.

Det er værre endnu ;) Husk at bruge try/finally rundt om
StrToFloat. Hvis der sker en fejl under konverteringen, bliver
den nemlig ikke sat tilbage.

MVH, René
--
Using Virtual Access
http://www.vamail.com


P.L. (24-08-2001)
Kommentar
Fra : P.L.


Dato : 24-08-01 21:14

Hej NG - IGEN
> Hvordan konverterer man f.eks. værdien 5.25 til en Stringværdi således "." bevares, dvs. bliver
> '5.25' og IKKE '5,25'.
>
> FloatToStr(5.25) gi'r stringværdien '5,25' og det samme gælder FormatFloat('0.00', 5.25)

Tak for alle jeres indlæg !!!

Den eneste løsning jeg selv er kommet frem til er, som er nogenlunde til at bruge er:

var lokDecimalseparator:Char;
Resultat:String;
begin
lokDecimalseparator:=Decimalseparator;
Decimalseparator:='.';
Resultat:=FormatFloat('0.00',123.45); // Resultat bliver herefter '123.45'
Decimalseparator:=LokDecimalseparator;
end;

Årsagen til, at jeg er fremkommet med indlægget er, at ved SQL Update skal stå '123.45' og IKKE
'123,45' f.eks.:
Query1.SQL.Add('Update "Min.Db"');
Query1.SQL.Add('SET Penge='+Resultat);
Query1.ExecSQL;

P.L.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste