Array
(
)

formatar string

Josinaldo
   - 14 fev 2006

como formatar a string 00000014457 para 144.57 ?

a string tem 11 caracteres onde os 2 últimos são as casas decimais do valor.


Sanses
   - 14 fev 2006

Olá

Olha, deve ter alguma função que faça isso. Mas não me lembro agora. Então considere este código como uma solução ´GAMBIARRA´ para o caso:
#Código


var
i : integer;
s,s1 : string;
begin
i := length(edit1.text);
s := copy(edit1.text, 1, i-2);
s := formatfloat(´#0´, strtofloat(s));
s1 := copy(edit1.text, 10, 11);
edit2.text := s+´,´+s1;
end;

ela pega o tamanho da string, separa os ultimos 2 números que são as casas decimais. Feito isso formata os valor que sobra e uunta tudo. Mas vale lembrar: DEVE HAVER UMA MANEIRA MAIS PROFFICIONAL DE SE FAZER ISSO...

[]´s
Sanses


Josinaldo
   - 14 fev 2006

Obrigado Sanses pela ´GAMBIARRA´ :) , realmente funciona, mas se alguem souber de alguma função mais simples agradeço.


Imoreira
   - 14 fev 2006

formatfloat(´,0.00´,strtofloat(SuaString)/100);


Josinaldo
   - 14 fev 2006


Citação:
formatfloat(´,0.00´,strtofloat(SuaString)/100);


Era isso mesmo, valeu.


Joni Nunes
   - 15 fev 2006

Sao tantas as possibilidades

procedure TForm1.Button1Click(Sender: TObject);
var
v : String;
begin
v := ´00000014457´;
Label1.Caption := FormatFloat(´#,´, StrToFloat(v));
//00000014457 para 144.57 ?
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := FormatFloat(´,´, 00000014457);
//00000014457 para 144.57 ?
end;