Fórum Cast !! #212729

09/02/2004

0

eae galera,

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

Gods

Responder

Posts

09/02/2004

Ari

Em todos os arquivos TXT´s que li sempre solicitei para que colocassem Zeros a esquerda do Numero, mas como não é o seu caso pq vc não dá um Trim na Variável antes de gravar


Responder

Gostei + 0

09/02/2004

Aroldo Zanela

Colega,

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;



Responder

Gostei + 0

09/02/2004

Gods

acho q eu descobri

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar