Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

 

  • Fundadores
Postado

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.

Postado (editado)

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 

Editado por Cristian_CP
Postado
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.

 

  • Curtir 2
  • Consultores
Postado
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
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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.
  • Este tópico foi criado há 1759 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...