Wie kann ich immer aufrunden Dezimalwerte auf den nächsten ganzzahligen Wert?
-
23-09-2019 - |
Frage
In einem Bericht, den ich für ein Feld den folgenden Code haben:
=Sum([PartQty]*[ModuleQty])
Beispiel Ergebnisse sind 2.1
und 2.6
. Was ich brauche, ist für diesen Wert zu runden bis zum Wert von 3
. Wie kann ich meinen Feldcode ändern, um immer aufrunden der Ergebnisse meines aktuellen Ausdrucks?
Lösung
Sie tun können,
=Int(Sum([PartQty]*[ModuleQty]))+1
denke ich. Das würde den Int Teil der Summe (2) und dann 1. fügen Sie benötigen ein wenig klüger, da dies sein wird, werden Sie wahrscheinlich 3 geben, auch wenn die Summe genau 2 ist, das ist wahrscheinlich nicht das, was Sie wollen.
getestet es nicht, aber etwas in dieser Richtung arbeiten könnte (Zugriffssyntax ist nicht so toll, aber sollten Sie die richtige Idee geben):
Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
Sum([PartQty]*[ModuleQty]),
Int(Sum([PartQty]*[ModuleQty]))+1)
Andere Tipps
Dies ist ein alter Access-Trick, den ich vor langer Zeit gelernt, und es nutzt die Art und Weise Zugang Griffe fraktionieren, negative Zahlen. Versuchen Sie folgendes:
-Int(-[DecimalValue])
Es ist seltsam, aber es wird immer rund Ihre Zahlen auf die nächste ganze Zahl.
Testen Sie dies: Rund (IhreNummer + 0,5, 0)