decimais em pict arredondando!

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

decimais em pict arredondando!

Mensagem por juniorcamilo »

Bom dia Amigos!!

estou migrando clipper para haurbour! e me deparei com a seguinte fato:

ex.
nDesc := 1.123456789
@ 10,10 get nDesc pict "@E 999.99"
read

dando enter!

no clipper o resultado é nDesc igual 1.123456789
no harbour o resultado é nDesc igual 1.12

por que ?
tem como deixar como no clipper sem modificar a linha?
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

decimais em pict arredondando!

Mensagem por JoséQuintas »

Estranho isso, bug do Clipper ?
Se a picture tem duas decimais, a picture está sendo respeitada.
Só se antes não tinha picture.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

decimais em pict arredondando!

Mensagem por juniorcamilo »

JoséQuintas escreveu: Só se antes não tinha picture.
ao meu entender exite algo no clipper "um evento" q sabe c foi ou não digitado algo no get!! como só teclou c enter o valor manteve!!
caso digito 1.12 real mente ai pega o valor 1.12!!
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

decimais em pict arredondando!

Mensagem por Kapiaba »

Código: Selecionar todos

   SET FIXED ON
    ? 25141251 / 362
    SET DECIMALS TO 10
    ? 214514.214 / 6325
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

decimais em pict arredondando!

Mensagem por JoséQuintas »

Não tem a ver com a picture, mas com esse SET DECIMALS...

1 / 3 tem um retorno
1 / 3.00000 ou 1 / 3 * 1.000000 tem outro retorno
As casas decimais visíveis variam conforme o cálculo.

Mas isso não está relacionado com PICTURE.
E também não significa que internamente o número seja outro.

No Harbour você vai ter o resultado de acordo com o que você fizer.

Como você explica para o usuário que mostra um desconto na tela e calcula outro com mais decimais?

Pode considerar isso um problema, do valor ser alterado.
mas pode considerar uma solução: o cálculo vai ser feito exatamente com o que está na tela.

Apesar do trabalho extra, acho mais interessante ajustar as pictures.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder