Jump to content

dia-do-acbr-online.png

.Promoção do Suporte ACBr:
Ganhe o Curso Migração e Modernização de Aplicações Legadas

Saiba Mais


RAFAEL_E_ANGELO3.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

formatar variável currency para 3 casas decimais


  • Este tópico foi criado há 303 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

Boa tarde a todos.

Este é meu primeiro contato no fórum, estou com uma situação que não estou conseguindo resolver.

No meu bco de dados (firebird) gravo por exemplo a qtde de venda como float,  e ao atribuir na variavel currency a qtde da venda ela arredonda 2 casas após a vírgula,

tentei de todas as formas converter para 3 casas e sempre arredonda por ex.

curQtde := ibtempVendas.fieldbyname('Qtde').asFloat; - tras duas casas

curqtde := StrToCurr(formatfloat(',0.000',curqtde)); tbem tras duas casas e não tres

Se faço numa tipo string funciona mas na currency sempre arredonda, se alguem puder ajudar por favor agradeceria muito, acredito que deve ser simples de

resolver.

Obrigado a todos, forte abraço

 

Link to post
Share on other sites
  • Fundadores

Já  tentou usar um tipo Double ?

Porem o Currency deveria funcionar pois ele suporta 4 casas decimais...

Deve ter alguma propriedade no DataSet que esta arredondado as decimais...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to post
Share on other sites

Tentei como double e tbem não vai, arredonda, como string vai e ao converter string para a double ou real ou currency fica 2 casas decimais, não mantém as 3 casas que fica no tipo string 

Edited by Cristian_CP
Link to post
Share on other sites
22 minutos atrás, Cristian_CP disse:

Boa tarde a todos.

Este é meu primeiro contato no fórum, estou com uma situação que não estou conseguindo resolver.

No meu bco de dados (firebird) gravo por exemplo a qtde de venda como float,  e ao atribuir na variavel currency a qtde da venda ela arredonda 2 casas após a vírgula,

tentei de todas as formas converter para 3 casas e sempre arredonda por ex.

curQtde := ibtempVendas.fieldbyname('Qtde').asFloat; - tras duas casas

curqtde := StrToCurr(formatfloat(',0.000',curqtde)); tbem tras duas casas e não tres

Se faço numa tipo string funciona mas na currency sempre arredonda, se alguem puder ajudar por favor agradeceria muito, acredito que deve ser simples de

resolver.

Obrigado a todos, forte abraço

 

Creio que deverá mudar o tipo do campo no banco de dados para numeric e informar a qtde de casas decimais que precisa.

 

  • Like 2
Link to post
Share on other sites
Em 01/02/2020 at 16:09, Cristian_CP disse:

a qtde da venda ela arredonda 2 casas após a vírgula,

Exatamente onde está sendo arredondado?

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to post
Share on other sites
  • Este tópico foi criado há 303 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...