Final de ano com 25 % OFF para compra e renovaÇÃo!

Autor Tópico: um centavo !!!!  (Lida 526 vezes)

Grossildo

  • Avançado
  • ****
  • Mensagens: 288
    • Email
um centavo !!!!
« Online: Junho 16, 2015, 05:42:55 pm »
Olã a todos

coisa estranha nos cálculos simples.
Exemplo: Tenho valor 40 - 39,99 = 0.009999999999998

Explicando:
Tipo de App: Grid
Evento: onRecord
Expressão: {xSALDO}={SALDO_ANT}-{VALOR};

{SALDO_ANT} = 40 -> Saldo Anterior - Campo do banco de dados
{VALOR} = 39,99  -> Valor de Lançamento Campo Banco de Dados
{xSALDO} = 0.009999999999998 -> Campo adicional do ScriptCase
reparem no extrato ( imagem )  que o saldo está "zerado" e deveria apresentar 0,01 ( um centavo )




Lançamento:
não só na grid como tb no form tive este problema de um centavo ou dois
O saldo anterior era R$40,00
na hora de gravar em onValidate verifico que o vlr vai ficar negativo, se sim sc_error_message e depois sc_error_exit
sendo o saldo atual ficar maior ou igual a zero então ok para gravar.
neste caso o usuário teve q lançar 39,99 para que o saldo atual >= 0 pudesse gravar...
este problema do lançamento é outro  mais tem haver com os dados em cima do estrato e o link da imagem do estrato aqui

parece ser um bug ?
alguma dica ?
 

Haroldo

  • Expert
  • *****
  • Mensagens: 7653
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:um centavo !!!!
« Responder #1 Online: Junho 16, 2015, 05:45:27 pm »
aplique o round.

{xSALDO}=round({SALDO_ANT}-{VALOR},2);

Joni Morais

  • Avançado
  • ****
  • Mensagens: 305
    • Email
Re:um centavo !!!!
« Responder #2 Online: Junho 16, 2015, 10:25:19 pm »
É isso ai! Tem de arredondar.
Shared Host Linux;
10.1.28-MariaDB;
SC 8.1.067
SC 9.0.21

Grossildo

  • Avançado
  • ****
  • Mensagens: 288
    • Email
Re:um centavo !!!!
« Responder #3 Online: Junho 17, 2015, 12:03:42 am »
aplique o round.

{xSALDO}=round({SALDO_ANT}-{VALOR},2);

Joia, deu certo !!! Obrigado !