Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   dar formato float a un edit (https://www.clubdelphi.com/foros/showthread.php?t=58035)

Jheysson13 05-07-2008 21:54:20

dar formato float a un edit
 
salu2, a todos

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

Código Delphi [-]
(edit1.text):= floattostr(strtofloat(edit2.text)*strtofloat(edit3.text));

el resultado es asi
Código Delphi [-]
edit1.text=xx,xxxxxxxxxxxxxxxxx

y megustaria que fuera de esta manera
Código Delphi [-]
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

Código Delphi [-]
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));

Código Delphi [-]
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;

Código Delphi [-]
// --------------------------
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,

Código Delphi [-]
...
StringReplace(txt,'.','');
...
StringReplace(txt,'.',',');
...

Jheysson13 05-07-2008 22:20:24

Cita:

Empezado por coso (Mensaje 298524)
hola. se pueden simplificar bastante si usas StringReplace,

Código Delphi [-]...
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


La franja horaria es GMT +2. Ahora son las 20:39:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi