Fórum Virgula por Ponto para gravar no Banco de Dados #343032
27/06/2007
0
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
Curtir tópico
+ 0Posts
27/06/2007
Vitor Alcantara
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
27/06/2007
Adriano Santos
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
27/06/2007
Mmoreira
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
28/06/2007
Nightshade
utilizo muito ela
DecimalSeparator := ´,´;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)