Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalhar com valor monetário


MagoDanger

Pergunta

Olá pessoal, estou precisando criar uma tela de vendas, aonde os produtos vão receber valores, será feito a soma e no final dar o resultado total da compra...

Isso já está pronto, porém estou tendo problema com o seguinte, meu cliente quer que o valor seja monetário porém não deverá levar o R$).

Por exemplo, hoje após toda a soma o valor total fica R$ 1.580,00 ele quer que fique apenas 1.580,00

tentei fazer alteração aqui mas por algum motivo não está dando certo.

O que fiz: (Obs.: Banco de dados ACCESS)

Alterei no banco de dados os campos de MONETARIO para NUMÉRICO

Depois a programação, fiz assim:

var
soma1: Double;
begin
soma1 := 0;
begin
  soma1 := soma1 + dm.q_vendas_detal.Fieldbyname('valor_final').Value;
  dm.q_vendas_detal.Next;
  v_total1.Caption := FloatToStrF(soma1,ffgeneral , 15,2);
  dbe_quant2.text := '0';
  dbe_desconto2.text := '0';
  dbe_venc_garantia.clear;
  v_total.text := v_total1.caption;
end; end;

Porém nesse caso, o valor final se for 5000,00 fica apenas 5000... se for 10,00 fica 10....

tentei usar também o ffNumber, mas o problema continua...

Alguém pode me ajudar?

Obrigado. Abraços.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Pessoal, eu fui fazendo uns testes aqui até que de uma forma deu certo... será que vou ter problemas futuros trabalhando dessa forma:

Os campos da tabela passei para o tipo de dados TEXTO

Depois fiz a formatação dos dados assim:

Edit1.text := FormatFloat('###,###,#0.00',valor);
depois como a opção acima dava erro porque formatava dessa forma: 1.000,00 Fiz o seguinte:
Edit1.text := FormatFloat('#######0.00',valor);

Dessa forma consegui ter o resultado 1000,00

Bom, ficou da forma como meu cliente desejava, acredito que não tenha problema em guardar esses dados em um campo TEXTO... tem?

Obrigado. Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

procedure TForm1.Button1Click(Sender: TObject);
var valor : real;
begin
   SysLocale.MiddleEast := true;
   Edit1.BiDiMode := bdRightToLeft; // alinha o valor a direita

   valor := 5000;
   Edit1.text := FormatFloat('0.00',valor);

   CurrencyEdit1.DisplayFormat := '0.00;-0.00'; // aceita valores positivos e negativos
   CurrencyEdit1.Value := valor
end;

OBS: no banco de dados use campo tipo float ou double, pois isso independe de como voce vai mostar na tela

se voce usar tipo texto vai ter que ficar convertendo o valor para poder calcular

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...