Como posso sempre arredondar valores decimais para o valor inteiro mais próximo?

StackOverflow https://stackoverflow.com/questions/2559629

  •  23-09-2019
  •  | 
  •  

Pergunta

Em um relatório, tenho o seguinte código para um campo:

=Sum([PartQty]*[ModuleQty])

Resultados de exemplo são 2.1 e 2.6.O que eu preciso é que esses valores sejam arredondados para o valor de 3.Como posso alterar meu código de campo para sempre arredondar os resultados da minha expressão atual?

Foi útil?

Solução

você poderia fazer

=Int(Sum([PartQty]*[ModuleQty]))+1

Eu penso. Isso obteria a parte int da soma (2) e depois adicionaria 1. Você pode precisar ser um pouco mais inteligente, pois isso provavelmente lhe dará 3, mesmo que a soma seja exatamente 2, o que provavelmente não é o que você deseja.

Não o testou, mas algo nesse sentido pode funcionar (a sintaxe do Access não é tão boa, mas deve dar a ideia certa):

Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
     Sum([PartQty]*[ModuleQty]),
     Int(Sum([PartQty]*[ModuleQty]))+1)

Outras dicas

Este é um truque de acesso antigo que aprendi há muito tempo e faz uso da maneira como o acesso lida com números fracionários e negativos. Experimente isso:

-Int(-[DecimalValue])

É estranho, mas sempre arredondará seus números para o número inteiro mais próximo.

Teste isso:Arredondar (seu número + 0,5, 0)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top