|
| 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.
| |
|
|