Jump to content

dev botao

Exbir arredondamento com 3 casa decimal


Go to solution Solved by Renato Rubinho,
  • Este tópico foi criado há 404 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posted

pessoa estou usando a função RoundABNT para fazer uma arredondamento o valore arredondado ta certo só que a exibição não ta fazendo como eu quero exemplo em valor  de 0,559 ele arredondou para 0,56 só que quero que aparece 0,560  e coloquei 3 casa decima veja  txtQuantidade.Text:= FloatToStr(RoundABNT(StrToFloat(txtQuantidade.Text),3)); e mesmo assim vem 0,56 precise que seje  0,560

Posted
como posso formar um valor Double para 3 casa decima? fiz assim
txtQuantidade.Text:=formatfloat('###,###,##0.000', StrToFloat(txtQuantidade.Text)) ;
rValorBalanca:= StrToFloat(txtQuantidade.Text) ;
só que orValorBalanca não fica com 3 casa o valor é 0,560 e só fica 0,56 sendo que txtQuantidade.Text está trazendo 0,560
  • Consultores
Posted

Bom dia @nildglan e @Renato Rubinho

Complementando o que o @Renato Rubinho  vc tbm pode usar funções nativas do ACBr, observe:

Declare ACBrUtil.Base

ShowMessage('Valor '+FormatFloatBr(msk6x3,nvalor));

Existem várias mascaras, ai em baixo um exemplo:


image.png

  • Like 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Posted

 

 txtQuantidade.Text:= FloatToStr(RoundABNT(StrToFloat(txtQuantidade.Text),3));
 txtQuantidade.Text:=FormatFloatBr(msk6x3, StrToFloat(txtQuantidade.Text)) ;
 txtQuantidade.Value :=StrToFloat(txtQuantidade.Text);

 

o problema agora  é que  txtQuantidade.Value só ta vindo 0,56  na segunda linha ta txtQuantidade.Text = 0,560  quando vai pra terceira linha  txtQuantidade.Value fica 0,56 que coisa

  • Consultores
Posted

O valor não vai mostrar a 3 casa se for zero no campo float.
Quando for exibir use a função da segunda linha que ele mostra o zero na exibição.
Vc pode fazer um teste com um valor que a terceira casa não seja zero para verificar.

  • Like 2
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Posted

Complementando o que os colegas disseram aí.

5 horas atrás, nildglan disse:

rValorBalanca:= StrToFloat(txtQuantidade.Text) ;

4 horas atrás, nildglan disse:

o problema agora  é que  txtQuantidade.Value só ta vindo 0,56  na segunda linha ta txtQuantidade.Text = 0,560  quando vai pra terceira linha  txtQuantidade.Value fica 0,56 que coisa

rValorBalanca e txtQuantidade.Value são double, não vão ficar com zeros nem à esquerda nem à direita.

Qual o motivo de você precisar desse zero?

1. Se só estiver processando eles, não se preocupe com esses zeros, estão certos assim

2. Se quiser exibir em tela e for colocar esse valor em um componente visual, que também seja double, esse componente tem que ter uma opção de DisplayFormat por exemplo para você poder formatar a exibição do valor, mas isso vai depender do componente, você não precisa fazer nada antes.

3. Se você for utilizar esse valor em algum lugar como texto mesmo, utilize uma das opções que citamos cima.

5 horas atrás, Renato Rubinho disse:

Utilize o FormatFloat(',0.000', valor)

4 horas atrás, Daniel InfoCotidiano disse:

ShowMessage('Valor '+FormatFloatBr(msk6x3,nvalor));

  • Like 2
  • Este tópico foi criado há 404 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.