Como posso retirar somente os numeros de uma String?
08/01/2004
0
E ai pessoal estou com um pequeno probleminha preciso calcular um valor so que pra isso preciso tirar as primeiras posiçoes da String que ta no formato ´R$ 32,00´ preciso descartar o ´R$´ para converter para float, tem como eu pegar somente o ´32,00´ para fazer o calculo? Agradeço desde ja... :lol:
Marcusbraga
Curtir tópico
+ 0
Responder
Post mais votado
08/01/2004
Colega,
Na verdade as funções disponíveis do Delphi não conseguem converter string que contenham separadores de milhares e símbolos de moedas. Preparei uma pequena função para resolver o seu problema:
Na verdade as funções disponíveis do Delphi não conseguem converter string que contenham separadores de milhares e símbolos de moedas. Preparei uma pequena função para resolver o seu problema:
function TextToCurr(Texto: String): Currency; var nI: Integer; TextoLimpo: String; begin TextoLimpo := ´´; For nI := 1 to Length(Texto) do begin if Texto[nI] in [´0´..´9´,´,´] then TextoLimpo := TextoLimpo + Texto[nI]; end; Result := StrToCurr(TextoLimpo); end;
Aroldo Zanela
Responder
Mais Posts
09/01/2004
Alexdias
ESSE VALOR QUE VC PRECISA CALCULAR É UM CAMPO DE SUA TABELA ?
SE A RESPOSTA FOR SIM ... ENTÃO NÃO TENTE CALCULAR ASSIM .
EX 1 ==>dbedit1.text:= dbedit1.text+dbedit2.text; ( erro )
ex 2 ==> query1.fieldbyname(´valor1´).value:=query1.fieldbyname(´valor1´).value+query1.fieldbyname(´valor2´).value;
dbedit.text:=floattostr(query1.fieldbyname(´valor1´).value);
obs : use variaveis para facilitar e encurtar o codigo ;
espero que sirva !!!
SE A RESPOSTA FOR SIM ... ENTÃO NÃO TENTE CALCULAR ASSIM .
EX 1 ==>dbedit1.text:= dbedit1.text+dbedit2.text; ( erro )
ex 2 ==> query1.fieldbyname(´valor1´).value:=query1.fieldbyname(´valor1´).value+query1.fieldbyname(´valor2´).value;
dbedit.text:=floattostr(query1.fieldbyname(´valor1´).value);
obs : use variaveis para facilitar e encurtar o codigo ;
espero que sirva !!!
Responder
09/01/2004
Marcusbraga
meus agradecimentos a Aroldo Zanela vai ser muito util essa função pra mim valeu mesmo!!!
function TextToCurr(Texto: String): Currency;
var nI: Integer;
TextoLimpo: String;
begin
TextoLimpo := ´´;
For nI := 1 to Length(Texto) do
begin
if Texto[nI] in [´0´..´9´,´,´] then
TextoLimpo := TextoLimpo + Texto[nI];
end;
Result := StrToCurr(TextoLimpo);
end;
function TextToCurr(Texto: String): Currency;
var nI: Integer;
TextoLimpo: String;
begin
TextoLimpo := ´´;
For nI := 1 to Length(Texto) do
begin
if Texto[nI] in [´0´..´9´,´,´] then
TextoLimpo := TextoLimpo + Texto[nI];
end;
Result := StrToCurr(TextoLimpo);
end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)