Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gato Furd

Conversão de Caracter

Recommended Posts

Olá galera, td na paz?

Meu problema é o seguinte, digito ex.: 7.50 para o banco (como tipo REAL) poder salvar só que qdo busco através do delphi na aplicação ele converte esse 'ponto' numa 'vírgula' ae qdo vou salvar as alterações feitas dá bug! Pq o banco não aceita 'virgula'.

 

Útilizo o Delphi 7.0 e o banco é o PostGresSQL 8.4;

 

Aceito toda ajuda possível e estou a disposição no que puder!

 

Forte Abraço, a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que a função a seguir deva resolver seu problema!!

 

function VirgulaPonto(x : string) : string;
var
  achou : boolean;
  I : integer;
  resultado : string;
begin
  achou := False;
  if x <> '' then
  begin
    for I := 0 to length(x) - 1 do
    begin
      if x[I] = ',' then
      begin
        resultado := copy(x,0,I-1) + '.' + Copy(x,I+1,length(x)-I);
        achou := True;
      end;
    end;
  end
  else
  begin
    achou := True;
    resultado := '0';
  end;

  if achou = false then
    resultado := x;

  Result := resultado;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera, td na paz?

Meu problema é o seguinte, digito ex.: 7.50 para o banco (como tipo REAL) poder salvar só que qdo busco através do delphi na aplicação ele converte esse 'ponto' numa 'vírgula' ae qdo vou salvar as alterações feitas dá bug! Pq o banco não aceita 'virgula'.

 

Útilizo o Delphi 7.0 e o banco é o PostGresSQL 8.4;

 

Aceito toda ajuda possível e estou a disposição no que puder!

 

Forte Abraço, a todos.

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

valor1, valor2, soma: Double;

begin

// vamos receber as strings dos TEdits e converter

// seus valores para números de ponto-flutuante

// note que em Delphi, um valor de ponto-flutuante

// é informado em caixas de texto usando vírgula. Ex: 7,3

valor1 := StrToFloat(Edit1.Text);

valor2 := StrToFloat(Edit2.Text);

 

// vamos obter a soma dos dois valores

soma := valor1 + valor2;

 

// vamos exibir o resultado. Note o uso de FloatToStr() para

// converter o valor fracionário em string

ShowMessage('A soma é: ' + FloatToStr(soma));

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow, eu tenho uma diga galera, pode não resolver todos os problemas, mas ajuda que outros aparecam. Qando criarem uma nova aplicação, pode se no evento onCreate do form principal msm, escolham se sua aplicação vai utilizar virgulas ou pontos.

 

Para pontos utilize o seguinte codigo

 

DecimalSeparator := '.';

e para virgula:

DecimalSeparator := ',';

 

isso ajuda na hora de converter entre string e real e principalmente, evita problemas ao rodar o programa em diferentes partes do mundo (que aletera as opções regionais do windows, gerando erros de conversão0.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.