Fórum Cast !! #212729
09/02/2004
0
estou com um problema chatinho.
eu estou importando uma String de um arquivo TXT para jogar num campo Float de uma tabela. ate ae blz
o problema eh q a string esta vindo com 2 espacos brancos antes dos numeros uma coisa assim: 321.254,00 (´ ´´ ´´3´´2´´1´´.´´2´´5´´4´´,´´0´´0´), eu nao posso eliminar estes espacos em branco na hora da leitura no arquivo txt pq eles ja sao reservados para um numero q pecise de mais casas decimais
nao rola deu fazer um StrToFloat nem um StrToCurr, ja tentei
Sera q o problema eh o separador decimal?
Gods
Curtir tópico
+ 0Posts
09/02/2004
Ari
Gostei + 0
09/02/2004
Aroldo Zanela
O erro de conversão não pode ser corrigido por meio da variável DecimalSeparator, pois a mesmo atua sobre os tipos de ponto flutuante e não sobre strings. No caso, uma solução seria:
procedure TForm1.Button1Click(Sender: TObject); var Valor: String; begin Valor := ´ 321.254,00´; ShowMessage(FormatFloat(´#,0.00´,ExtraiValor(Valor))); end; function TForm1.ExtraiValor(VAlor: String): Currency; var nI: Integer; ValorLimpo: String; begin ValorLimpo := ´´; For nI := 1 to Length(Valor) do If Valor[nI] in [´0´..´9´] then ValorLimpo := ValorLimpo + Valor[nI]; Result := StrToFloat(ValorLimpo)/100; end;
Gostei + 0
09/02/2004
Gods
o problema eh q o valor q eu tenho esta vindo com ponto 3.254,21
fiz uma funcaozinha pra limpa.
de qualquer jeito valeu
:P
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)