[RESOLVIDO] Bug 9.4.005 - GRID - Casas Decimais - Valor Incorreto

Tenho uma aplicação no SC 8.1.066, com os novos Layouts do SC9 resolvi migra-las,
uma Grid apresentou um problema em trazer o valor correto do banco de dados no ambiente de produção, no ambiente de desenvolvimento vem correto.

Valor Banco de Dados(campo tipo float): 1333.06
Valor Exibido ambiente Dev SC8 : 1333.06
Valor Exibido ambiente Prod SC8: 1333.06
Valor Exibido ambiente Dev SC9: 1333.06
Valor Exibido ambiente Prod SC9: 1333.05

Já troquei o campo entre Moeda,Decimal,Texto
Tipo Texto:
image

Recriei a Grid direto no SC9 sem utilizar o atualizador de versão e o valor continuou apresentando : 1333.0599999999999

Para a correta manipulação de valores monetários comerciais é ‘obrigatório’ usar decimal e definir
as casas decimais desejadas na base de dados depois só informar as mesmas no SC.
Exemplo:
DECIMAL(15,2) > MariaDB/MySQL

Utilizo o SQL Server, e essa configuração no campo no scriptcase:
image

SQL SERVER também usa Decimal, mude na base de dados de float para decimal e quantidade
de casas desejada.

https://docs.microsoft.com/pt-br/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017

Tudo bem… a minha dúvida é:
no meu banco o valor está assim:
image

No ambiente Dev,Prod do SC8 vem correto.
No ambiente Dev SC9 vem correto.
No Ambiente Prod SC9 vem errado, o errado então é o meu tipo de dado no banco?

Mas no banco esta como float?

Vai usar para cálculos científicos?

Sim está.
image

não é recomendado float para campos de valores monetários, use decimal.

1 Curtida

O meu questionamento é:

Por que na versão do SC8 (dev e prod) trás o meu valor correto e no desenvolvimento do SC9 trás meu valor correto mas no publicado não?

Não deveria vir o mesmo valor no Desenvolvimento e na Produção?

Efetuei a alteração do campo para decimal conforme sugestões acima,
fiquei apenas com a dúvida do valor da diferenciação do desenvolvimento para a produção.

Grato a todos que responderam!

1 Curtida

possivelmente são sistemas operacionais diferentes ou versão do bd diferente entre a produção e desenvolvimento.