Virgula por Ponto para gravar no Banco de Dados
Pessoal,
Estou precisando converter um valor que esta assim em um edit:
255,55
para string:
255.55
para que eu possa gravar este valor em um banco Firebird .. tenho que trocar a virgula pelo ponto. tentei assim mas nao funcionou:
ShowMessage( FormatFloat(´0.00´,v) );
Estou precisando converter um valor que esta assim em um edit:
255,55
para string:
255.55
para que eu possa gravar este valor em um banco Firebird .. tenho que trocar a virgula pelo ponto. tentei assim mas nao funcionou:
ShowMessage( FormatFloat(´0.00´,v) );
Mmoreira
Curtidas 0
Respostas
Vitor Alcantara
27/06/2007
Tenta uma função simples;
e Para utilizar faz assim:
Function VirgPorPonto(d:Double):String; var x:integer; s:String; Aux:String; begin aux := ´´; s := FloatToStrf(d,ffFixed,10,2); For x := 1 To Length(s) do if s[x] = ´,´ then Aux := Aux + ´.´ else Aux := Aux + s[x]; Result := Aux; end;
e Para utilizar faz assim:
ShowMessage(VirgPorPonto(v));
GOSTEI 0
Adriano Santos
27/06/2007
Pessoal,
Estou precisando converter um valor que esta assim em um edit:
255,55
para string:
255.55
para que eu possa gravar este valor em um banco Firebird .. tenho que trocar a virgula pelo ponto. tentei assim mas nao funcionou:
ShowMessage( FormatFloat(´0.00´,v) );
O negócio é loko, deveria funcionar. Se não conseguir de jeito nenhum, dá uma forçada. Cria uma function que faça isso pra você. Dá uma olhada:
function TrocaVirgulaPorPonto(AString: string): String; var I : Integer; S : string; begin S := ´´; for I := 1 to Length(AString) do if AString[I] = ´,´ then S := S + ´.´ else S := S + AString[I]; Result := S; end;
GOSTEI 0
Mmoreira
27/06/2007
É isso ai pessoal pelo visto isso vai ter de ser feito no braço mesmo .. tem esta funcao tambem:
Esta ai tambem solucinou o problema.
Obrigado a todos pela atenção.
function AlteraSubstring( pString, pVelho, pNovo : string ) : string; begin Result := StringReplace( pString, pVelho, pNovo, [rfReplaceAll] ); end;
Esta ai tambem solucinou o problema.
Obrigado a todos pela atenção.
GOSTEI 0
Nightshade
27/06/2007
usa essa função antes de uma conversao, se tu usar ela antes de gravar no banco, ele converterá para o formato nacional com virgula o separador decimal..
utilizo muito ela
DecimalSeparator := ´,´;
utilizo muito ela
DecimalSeparator := ´,´;
GOSTEI 0