PDA

Ver la Versión Completa : dar formato float a un edit


Jheysson13
05-07-2008, 21:54:20
salu2, a todos

me gustaria saber como le hago para dar el formato de punto foltante a un edit, es decir,
si tengo esto

(edit1.text):= floattostr(strtofloat(edit2.text)*strtofloat(edit3.text));

el resultado es asi edit1.text=xx,xxxxxxxxxxxxxxxxx

y megustaria que fuera de esta manera edit1.text:= xx,xx

otra cosa es que en mi tabla esta declarado como float el campo total
y si se almacena con punto en ves de coma me dice que no es un valor flotante real, a que se debe esto.

espero me puedan ayudar gracias de antemano

eduarcol
05-07-2008, 22:05:06
Edit1.Text := FormatFloat('#,##0.00', strtofloat(edit2.text)*strtofloat(edit3.text));

ManelC
05-07-2008, 22:10:47
Correcto,

para el error en el SQL yo utilizo dos funcioncillas, una para quitar el formateo de miles y la otra para poner puntos en vez de comas (son dos pq también las utilizo por separado):

strValorCamp := strFormatDecimal(strTreuMascaraMilers(strValorCamp));

Function strTreuMascaraMilers(strNum: String): String;
var
i: Integer;
strTmp: String;

begin

// Saca los puntos si los tiene
strTmp := '';
for i := 1 to length(strNum) do
if strNum[i] <> '.' then strTmp := strTmp + strNum[i];

strTreuMascaraMilers := strTmp;

end;

// --------------------------
Function strFormatDecimal(strNum: String): String;
begin

if (AnsiPos(',', strNum) <> 0) then
strNum := Copy(strNum, 0, AnsiPos(',', strNum)-1) + '.' +
Copy(strNum, AnsiPos(',', strNum) + 1, Length(strNum)-AnsiPos(',', strNum));

if strNum = '' then strNum := '0';

strFormatDecimal := strNum;

end;

Espero que te sirva

coso
05-07-2008, 22:14:55
hola. se pueden simplificar bastante si usas StringReplace,


...
StringReplace(txt,'.','');
...
StringReplace(txt,'.',',');
...

Jheysson13
05-07-2008, 22:20:24
hola. se pueden simplificar bastante si usas StringReplace,

Código Delphi [-] (http://www.clubdelphi.com/foros/#)...
StringReplace(txt,'.','');
...
StringReplace(txt,'.',',');
...



Pero como es exactamente que funciona esta funcion por que me parece que esla mas sencilla de las tres, pero podrias dar un ejemplo gracias..

coso
05-07-2008, 22:27:08
?? la mas correcta y la que se usa para eso, es el formatfloat. La ayuda viene en delphi. Si luego quieres hacer cambios en un string, entonces usa StringReplace. Pero para formatear un float, pues formatfloat.

Jheysson13
05-07-2008, 22:30:58
ok gracias a todos, ya pude dar con lo k keria grasia a sus ayudas


salu2:D:D:D:D