Συνάρτηση Round [VBA]

Στρογγυλοποιεί μια αριθμητική τιμή σε έναν καθορισμένο αριθμό δεκαδικών ψηφίων.

warning

Αυτή η σταθερά, συνάρτηση ή αντικείμενο ενεργοποιείται με την πρόταση Option VBASupport 1 τοποθετημένη πριν τον κώδικα του εκτελέσιμου προγράμματος σε άρθρωμα.


Αυτή η συνάρτηση εφαρμόζει τον κανόνα στρογγυλοποίησης που είναι γνωστός ως "στρογγυλοποίηση στον άρτιο". Με αυτόν τον κανόνα, κάθε φορά που η διαφορά μεταξύ του προς στρογγυλοποίηση αριθμού και του πλησιέστερου ακέραιου είναι ίση με 0,5, ο αριθμός στρογγυλοποιείται στον πλησιέστερο ζυγό αριθμό. Δείτε τα παραδείγματα παρακάτω για να μάθετε περισσότερα σχετικά με αυτόν τον κανόνα.

note

Be aware that VBA's Round function works differently than LibreOfficeDev Calc's Round function. In Calc, if the difference between the number to be rounded and the nearest integer is exactly 0.5, then the number is rounded up. Hence, in Calc the number 2.5 is rounded to 3 whereas using VBA's Round function the value 2.5 is rounded to 2 due to the "round-to-even" rule.


Σύνταξη:

Round(expression [,numdecimalplaces])

Επιστρεφόμενη τιμή:

Double

Παράμετροι:

expression (έκφραση): Η αριθμητική έκφραση που πρέπει να στρογγυλοποιηθεί.

numdecimalplaces (αριθμός δεκαδικών θέσεων): Προαιρετικό όρισμα που καθορίζει τον αριθμό των δεκαδικών ψηφίων στην προκύπτουσα στρογγυλεμένη τιμή. Η προεπιλεγμένη τιμή είναι 0.

Κωδικοί σφάλματος:

5 Άκυρη κλήση διαδικασίας

Παράδειγμα:


    Option VBASupport 1
    Sub Example_Round
        Dim r 
        r = Pi
        print r ' 3,14159265358979
        print Round(r, 5) ' 3,14159
        r = exp(1)
        print r ' 2,71828182845904
        print Round(r) ' 3
    End Sub
  

Τα ακόλουθα παραδείγματα επεξηγούν τον κανόνα "στρογγυλοποίηση στον άρτιο":


    ' Στρογγυλοποίηση στον πλησιέστερο ακέραιο (δεκαδικές θέσεις = 0)
    MsgBox Round(3.5) ' 4
    MsgBox Round(4.5) ' 4
    MsgBox Round(5.5) ' 6
    MsgBox Round(6.5) ' 6
    Στρογγυλοποίηση με 2 δεκαδικά ψηφία (δεκαδικές θέσεις = 2)
    MsgBox Round(1.555, 2) ' 1.56
    MsgBox Round(1.565, 2) ' 1.56
    MsgBox Round(1.575, 2) ' 1.58
    MsgBox Round(1.585, 2) ' 1.58