Discussione:
Formattare un numero per avere decimali fissi
(troppo vecchio per rispondere)
bogus
2004-02-06 05:06:49 UTC
Permalink
Ciao a tutti, ho delle variabili variant che contentgono dei numeri
decimali o interi;
Questi valori li metto in un RichEdit, però ovviamente li vedo come
sono stati assegnati alla variabile, invece io vorrei vederli tutti
formattati come se fossero valuta, cioè sempre con 2 decimali, ovvero:
1 deve eseere 1,00
1,4 deve essere 1,40
0,7 deve essere 0,70
eccetera.
Ho provato Format('%2.d',valoreVariabile) ma mi da errore, allora ho
provato in mille modi ma non riesco a farlo funzionare, e nell'help non
fa esempi.
Come posso fare???
Grazie.

Inviato da www.mynewsgate.net
Gianluca Plevani
2004-02-06 07:56:34 UTC
Permalink
"bogus" ha scritto nel messaggio
Post by bogus
0,7 deve essere 0,70
La giusta formattazione è '%.2f'
Nell'help non ci sono esempi ma ci sono le definizioni di tutte le stringhe
di formattazione.

Ciao,
Gianluca.
Antò LuZombi
2004-02-06 08:08:30 UTC
Permalink
Post by bogus
Ciao a tutti, ho delle variabili variant che contentgono dei numeri
decimali o interi;
Questi valori li metto in un RichEdit, però ovviamente li vedo come
sono stati assegnati alla variabile, invece io vorrei vederli tutti
1 deve eseere 1,00
1,4 deve essere 1,40
0,7 deve essere 0,70
eccetera.
Ho provato Format('%2.d',valoreVariabile) ma mi da errore, allora ho
provato in mille modi ma non riesco a farlo funzionare, e nell'help non
fa esempi.
credo che la fromat non accetti il tipo variant, infatti provando con

var
v: variant;
begin
v := 1.123456;
ShowMessage(format('%8.2f', [V]));
// occhio alle parentesi quadre
end;

da l'errore
Format '%8.2f' invalid or incompatible with argumenti
mentre
ShowMessage(format('%8.2f', [1.12345]));
funziona!
Post by bogus
Come posso fare???
var
v: variant;
begin
v := 1.123456;
ShowMessage(FormatFloat(',#.##', v));
end;
Post by bogus
Grazie.
--
Ciao, Anto', [37, 143, AQ]
MB C SC 220 CDI Magma Rot
"Di sempre cio' che senti e fai cio' che pensi."
G.G. Màrquez
bogus
2004-02-06 08:36:58 UTC
Permalink
Grazie Antò e Gianluca, vi farò sapere la più presto.

Inviato da www.mynewsgate.net
Antò LuZombi
2004-02-06 09:07:03 UTC
Permalink
Post by bogus
Grazie Antò e Gianluca, vi farò sapere la più presto.
allora una precisazione, se vuoi forzare a due decimali(1,1 -> 1,10) usa la
maschera di formattazione ',#.00' al posto di ',#.##'.
--
Ciao, Anto', [37, 143, AQ]
MB C SC 220 CDI Magma Rot
"Di sempre cio' che senti e fai cio' che pensi."
G.G. Màrquez
bogus
2004-02-10 09:21:00 UTC
Permalink
Post by Antò LuZombi
Post by bogus
Grazie Antò e Gianluca, vi farò sapere la più presto.
allora una precisazione, se vuoi forzare a due decimali(1,1 -> 1,10) usa la
maschera di formattazione ',#.00' al posto di ',#.##'.
FUNZIONA ALLA GRANDE!!!!!!
Ho usato FormatFloat(',#.00',var)
Grazie.

Inviato da www.mynewsgate.net

Loading...