Ir para conteúdo
  • Cadastre-se

dev botao

Exbir arredondamento com 3 casa decimal


Ver Solução Respondido por Renato Rubinho,
  • Este tópico foi criado há 417 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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

Postado
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
Postado

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

  • Curtir 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

Postado

 

 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
Postado

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.

  • Curtir 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
Postado

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));

  • Curtir 2
  • Este tópico foi criado há 417 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.