Cast !!
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?
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
Curtidas 0
Respostas
Ari
09/02/2004
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
GOSTEI 0
Aroldo Zanela
09/02/2004
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:
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
Gods
09/02/2004
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
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