Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DanielTM

FormatFloat

Recommended Posts

Pessoal tenho um edit,e nesse edit tenho que formatalo para ter sempre 7 caracteres, adicionando 0 a esquerda, tentei fazer assim mas deu erro ao inserir dados no edit:varvalor: string;beginedit4.text:= formatfloat('000000', StrToFloat(valor));alguem pode me ajudar? valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser, existe ainda um componente chamado TRealEdit, no qual faz a formatação de valores, ele é um edit, mas somente com esta opção de formatação...

Se quiser, pode baixar neste link.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como faço a sintaxe para formatar um campo que pego do banco de dadosgravo ele assim no txt Write(arqS, query2.FieldByName('cfop').asstring);mas queria formatalo como o edit para conter 7 caracteres completando com 0 tentei : Write(arqS, query2.FieldByName(FormatFloat('00000.00', StrToFloat('cfop').asstring));não deu certo <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

Write(arqS, FormatFloat('00000.00', StrToFloat(query2.FieldByName('cfop').asstring)));
po marcio você sempre quebrando meu galho, valew.mas deu um erro, pq esse eu campo está com o seguinte dado : 5.949 quando vou executar o sitema da a msg de erro: '5.949' is not a valid floating point valueno caso eu tenho que remover o sinal de ponto (.) ? faz usando o StringReplace(query2.FieldbyName('cfop').asstring, '.','', [rfReplaceAll]));como resolvo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso, no caso precisa remover o ponto...Mas se o campo já foi armazenado formatado, precisaria somente fazer...

Write(arqS, query2.FieldByName('cfop').asstring);
nao o campo nao foi armazenado formatado, entao tenho que tirar o (.) depois usar o formatfloat para 7 caracteres, me ajude na sintaxe Marcio:Write(arqS,StringReplace(FormatFloat('00000.00', StrToFloat(query2.FieldbyName('cfop').asstring, '.','', [rfReplaceAll])));meu resultado final que preciso seria esse, soh q apanho demais para sintaxe do delphi é f*** http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

Write(arqS,FormatFloat('00000.00',StrToFloat(StringReplace(query2.FieldbyName('cfop').asstring, '.','', [rfReplaceAll]))));
opa marcio, a sintaxe rodou beleza, mas soh que aparece o mesmo erro, mas agora não aparece o valor do campo ma msg ta assim: ' ' is not a valid floating point valueda erro pq o campo contem o (.) mesmo retirando no stringreplace nao deu http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

De qual tipo é o campo cfop ?

Como ele fica armazenado no banco, passa um exemplo se puder...

cfop é um campo que recebe varchar de tamanho de 6 caracteres, os dados neles sao inseriodos com ponto exemplo:

 

6.949

5.949

1.99

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito para o que você vai usar este tipo de formatação, mas tente assim:

 

Write(arqS,FormatFloat('00000.00',StrToInt(StringReplace(query2.FieldbyName('cfop').asstring,'.','',[rfReplaceAll]))));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito para o que você vai usar este tipo de formatação, mas tente assim:

Write(arqS,FormatFloat('00000.00',StrToInt(StringReplace(query2.FieldbyName('cfop').asstring,'.','',[rfReplaceAll]))));
preciso fazer essa formatação para um outro programa leia o layout, e infelizmente tem q ser dessa forma deu msn de erro : ' ' is not a valid integer value

Compartilhar este post


Link para o post
Compartilhar em outros sites

Roda passo-a-passo e verifica, deve de estar indo algo como nulo ou então com outros caracteres...

Pode tentar assim tb:

 

if Trim(query2.FieldbyName('cfop').AsString) <> '' then	Write(arqS,FormatFloat('00000.00',StrToInt(StringReplace(Trim(query2.FieldbyName('cfop').AsString),'.','',[rfReplaceAll]))));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.