Gato Furd 0 Denunciar post Postado Dezembro 23, 2009 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
itepi 0 Denunciar post Postado Dezembro 23, 2009 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
Brown. 1 Denunciar post Postado Dezembro 24, 2009 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
Raficcha 1 Denunciar post Postado Dezembro 28, 2009 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