Comment puis-je arrondir toujours des valeurs décimales à la valeur entière la plus proche?

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

  •  23-09-2019
  •  | 
  •  

Question

Sur un rapport que j'ai le code suivant pour un champ:

=Sum([PartQty]*[ModuleQty])

Des exemples de résultats sont 2.1 et 2.6. Ce que j'ai besoin est pour ces valeurs pour arrondir à la valeur de 3. Comment puis-je changer mon code de terrain pour arrondir toujours les résultats de mon expression actuelle?

Était-ce utile?

La solution

vous pouvez faire

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

Je pense. Cela diffuserait la partie Int de la somme (2), puis ajoutez 1. vous devrez peut-être être un peu plus intelligent que cela vous donnera probablement 3, même si la somme est exactement 2, ce qui est sans doute pas ce que vous voulez.

pas testé, mais quelque chose le long de ces lignes pourrait fonctionner (syntaxe d'accès est pas terrible, mais devrait vous donner l'idée à droite):

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

Autres conseils

Ceci est un vieux truc d'accès, j'ai appris il y a très longtemps, et il utilise de la façon dont l'accès gère des nombres fractionnaires, négatifs. Essayez ceci:

-Int(-[DecimalValue])

Il est étrange, mais il sera toujours arrondir vos chiffres au nombre entier le plus proche.

Testez ceci:     Rond (+ yournumber 0,5, 0)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top