Με την προσαρμοσμένη εφαρμογή στρογγυλοποίησης διαδικασίες

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 196652 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Είναι διαθέσιμες στο Microsoft έναν αριθμό διαφορετικών αλγορίθμων στρογγυλοποίησης τα προϊόντα. Στρογγυλοποίηση αλγόριθμοι κυμαίνονται από αριθμητικούς στρογγυλοποίηση σε του Excel Συνάρτηση φύλλου εργασίας Round() Banker στρογγυλοποίηση σε CInt(), CLng(), και ROUND() συναρτήσεις της Visual Basic για εφαρμογές. Αυτό το άρθρο περιγράφει Τι κάνει διάφορες Visual Basic για εφαρμογές στρογγυλοποίησης συναρτήσεις και παρέχει δείγματα χρησιμοποιώντας τις συναρτήσεις. Επιπλέον, το άρθρο περιλαμβάνει συναρτήσεις δείγμα που εφαρμόζουν διάφορους αλγόριθμους στρογγυλοποίησης.

Περισσότερες πληροφορίες

Στρογγυλοποίηση εξηγείται

Πρέπει να στρογγυλοποιηθεί όταν θέλετε να μετατρέψετε έναν αριθμό μεγαλύτερη ακρίβεια σε αριθμό μικρότερη ακρίβεια. Η πιο συνηθισμένη περίπτωση είναι όταν χρειάζεται να Για να μετατρέψετε έναν αριθμό κινητής υποδιαστολής σε ακέραιο.

Στρογγυλοποίηση προς τα κάτω

Η απλούστερη μορφή στρογγυλοποίηση είναι περικοπής. Τα ψηφία μετά το επιθυμητό ακρίβεια απλώς παραβλέπονται. Η συνάρτηση VBA Fix() είναι ένα παράδειγμα περικοπή. Για παράδειγμα, Fix(3.5) είναι 3 και Fix(-3.5) είναι -3.

Η συνάρτηση Int() στρογγυλοποιεί προς τα κάτω το υψηλότερο ακέραιος μικρότερος από την τιμή. Int() και Fix() ενεργούν με τον ίδιο τρόπο με θετικούς αριθμούς - περικοπή- αλλά δίνουν διαφορετικά αποτελέσματα για τους αρνητικούς αριθμούς: Int(-3.5) δίνει -4.

Η συνάρτηση Fix() είναι ένα παράδειγμα συμμετρικό στρογγυλοποίηση, επειδή επηρεάζει μέγεθος (απόλυτη τιμή) των θετικών και αρνητικών αριθμών στο ίδιο τρόπο. Συνάρτηση Int() είναι ένα παράδειγμα ασύμμετρο στρογγυλοποίηση, επειδή το επηρεάζει το μέγεθος των θετικών και αρνητικών αριθμών με διαφορετικό τρόπο.

Το Excel έχει συναρτήσεις υπολογιστικού φύλλου παρόμοια: Int(), Floor() και RoundDown(). Int() λειτουργεί με τον ίδιο τρόπο όπως Int() στη Visual Basic για εφαρμογές. FLOOR() περικόπτει θετικές τιμές, αλλά δεν λειτουργεί με αρνητικούς αριθμούς. Η συνάρτηση RoundDown() λειτουργεί όπως η συνάρτηση VBA Fix().

Microsoft SQL Server έχει μια συνάρτηση Round() που μπορούν να χρησιμοποιηθούν ως VBA Fix() η συνάρτηση. Επίσης, SQL Server έχει μια συνάρτηση Floor(), η οποία λειτουργεί με τον ίδιο τρόπο ως συνάρτηση της VBA Int().

Στρογγυλοποίηση προς τα επάνω

SQL Server και το Excel έχουν μια συνάρτηση που ονομάζεται Ceiling(), που πάντα Στρογγυλοποιεί κλάσμα τιμές προς τα επάνω (περισσότερες θετικό) την επόμενη τιμή.

Visual Basic for Applications δεν έχει αντίστοιχη round-up η συνάρτηση. Ωστόσο, για τους αρνητικούς αριθμούς, Fix() και Int() μπορεί να χρησιμοποιηθεί Για να στρογγυλοποιήσετε προς τα επάνω, με διαφορετικούς τρόπους.

Fix() στρογγυλοποιεί προς 0 (επάνω με απόλυτη έννοια, αλλά κάτω από την άποψη της απόλυτη μεγέθους). Fix(-3.5) είναι-3.5.

Στρογγυλοποιεί προς τα INT() μακριά από το 0 (επάνω από άποψη μεγέθους απόλυτη, αλλά προς τα κάτω στο η απόλυτη έννοια). Int(-3.5) είναι -4.

Αριθμητικός στρογγυλοποίησης

Κατά τη στρογγυλοποίηση πάντα προς τα κάτω ή προς τα επάνω, ο αριθμός που προκύπτει δεν είναι απαραίτητα βρίσκεται πλησιέστερα προς τον αρχικό αριθμό. Για παράδειγμα, εάν η στρογγυλοποίηση 1.9 προς τα κάτω 1, η διαφορά είναι πολύ μεγαλύτερο από το αν το στρογγυλοποιήσει έως και 2. Είναι εύκολο Για να δείτε αριθμοί που από 1.6 2.4, θα πρέπει να στρογγυλοποιηθεί σε 2.

Ωστόσο, τι συμβαίνει με 1.5, το οποίο είναι τεμαχίου μεταξύ 1 και 2; Από σύμβασης, ο αριθμός μισή στρογγυλοποιείται προς τα επάνω.

Μπορείτε να υλοποιήσετε μισή αριθμοί με συμμετρικό τρόπο στρογγυλοποίησης αυτών -0,5 που στρογγυλοποιείται προς τα κάτω-1 ή με μια ασύμμετρη τρόπο, όπου είναι -0,5 στρογγυλοποιείται στο 0.

Οι παρακάτω συναρτήσεις παρέχουν συμμετρικό αριθμητικούς Στρογγυλοποίησης:
Συνάρτηση υπολογιστικού φύλλου Excel Round().
Η συνάρτηση SQL Server Round() μπορεί να γίνει συμμετρικό αριθμητικούς στρογγυλοποίησης.

Η παρακάτω συνάρτηση παρέχουν ασύμμετρη αριθμητικούς Στρογγυλοποίησης:
Η μέθοδος Round() η βιβλιοθήκη μαθηματικών Java.

Visual Basic for Applications δεν έχει οποιαδήποτε λειτουργία που αριθμητικός στρογγυλοποίησης.

Στρογγυλοποίηση του Banker

Όταν προσθέτετε στρογγυλοποιούνται τιμές μαζί, πάντα.5 στο ίδιο στρογγυλοποίησης Προσθήκη κατεύθυνση αποτελέσματα σε μια πόλωση που μεγαλώνει με περισσότερους αριθμούς μαζί. Είναι ένας τρόπος για να ελαχιστοποιήσετε την bias με στρογγυλοποίηση του banker.

Στρογγυλοποιεί στρογγυλοποίησης του Banker.5 μερικές φορές επάνω και κάτω μερικές φορές. Η σύμβαση είναι να στρογγυλοποιήσει στον πλησιέστερο ζυγό αριθμό, ώστε να στρογγυλοποιήσει 1.5 και 2.5 2, και 3.5 και 4.5 δύο στρογγυλά 4. Στρογγυλοποίηση του Banker είναι συμμετρικά.

Στη Visual Basic για εφαρμογές, εκτελέστε τις ακόλουθες συναρτήσεις αριθμητική Banker Στρογγυλοποίησης: CByte(), CInt(), CLng(), CCur() και Round().

Υπάρχουν δεν συναρτήσεις υπολογιστικού φύλλου του Excel που εκτελούν του banker στρογγυλοποίησης.

Τυχαία στρογγυλοποίησης

Στρογγυλοποίηση ακόμη banker να μετατοπίζουν συνόλων. Μπορείτε να κάνετε ένα επιπλέον βήμα για την καταργήσετε bias, στρογγυλοποίηση.5 επάνω ή κάτω σε πραγματικά τυχαίο τρόπο. Με αυτόν τον τρόπο, ακόμη και αν τα δεδομένα σκόπιμα με έμφαση, μπορεί να ελαχιστοποιηθεί bias. Ωστόσο, χρήση τυχαία στρογγυλοποίησης με τυχαία κατανεμημένα δεδομένα ενδέχεται να οδηγήσει σε μια μεγαλύτερο bias από banker στρογγυλοποίησης. Τυχαία στρογγυλοποίηση θα μπορούσε να οδηγήσει σε δύο διαφορετικά σύνολα στα ίδια δεδομένα.

Προϊόντα της Microsoft δεν εφαρμόζουν οποιαδήποτε ταξινόμηση τυχαία διαδικασία στρογγυλοποίησης.

Εναλλακτικό στρογγυλοποίησης

Εναλλακτική στρογγυλοποίηση στρογγυλοποίησης μεταξύ 0,5 επάνω και κάτω.5 σε διαδοχικές κλήσεις.

Προϊόντα της Microsoft δεν υλοποιεί μια εναλλακτική διαδικασία στρογγυλοποίησης.

Η συνάρτηση Round() έχει υλοποιηθεί με ασυνέπεια

Η συνάρτηση Round() δεν έχει υλοποιηθεί με συνεπή τρόπο μεταξύ διάφορα προϊόντα της Microsoft για ιστορικούς λόγους.

Στον παρακάτω πίνακα αφορά προϊόν εφαρμογή:
   Product                             Implementation
   ----------------------------------------------------------------------
   Visual Basic for Applications 6.0   Banker's Rounding
   Excel Worksheet                     Symmetric Arithmetic Rounding
   SQL Server                          Either Symmetric Arithmetic Rounding
                                       or Symmetric Round Down (Fix)
                                       depending on arguments

   Java Math library                   Asymmetric Arithmetic Rounding
				

Η συνάρτηση Round() στο Visual Basic 6.0 και Visual Basic για εφαρμογές 6.0 εκτελεί του banker στρογγυλοποίησης. Έχει ένα προαιρετικό δεύτερο όρισμα που Καθορίζει τον αριθμό των δεκαδικών ψηφίων για να στρογγυλοποιήσετε σε:
   Debug.Print Round(2.45, 1) returns 2.4.
				

Δείγμα δεδομένων

Ο παρακάτω πίνακας δείχνει ορισμένα δείγματα δεδομένων και τις επιπτώσεις των διαφόρων στρογγυλοποίησης για τους αριθμούς και τα σύνολα που δημιουργείται.
   Number/Int./Fix/Ceiling/Asym. Arith./Sym. Arith./Banker's/Random/Alt.
   ---------------------------------------------------------------------
   -2.6   -3   -2  -2      -3          -3           -3       -3     -3
   -2.5   -3   -2  -2      -2          -3           -2       -2     -3
   -2.4   -3   -2  -2      -2          -2           -2       -2     -2
   -1.6   -2   -1  -1      -2          -2           -2       -2     -2
   -1.5   -2   -1  -1      -1          -2           -2       -1     -1
   -1.4   -2   -1  -1      -1          -1           -1       -1     -1
   -0.6   -1    0   0      -1          -1           -1       -1     -1
   -0.5   -1    0   0       0          -1            0       -1     -1
   -0.4   -1    0   0       0           0            0        0      0
    0.4    0    0   1       0           0            0        0      0
    0.5    0    0   1       1           1            0        1      1
    0.6    0    0   1       1           1            1        1      1
    1.4    1    1   2       1           1            1        1      1
    1.5    1    1   2       2           2            2        1      1
    1.6    1    1   2       2           2            2        2      2
    2.4    2    2   3       2           2            2        2      2
    2.5    2    2   3       3           3            2        3      3
    2.6    2    2   3       3           3            3        3      3
				

Σύνολο όλων των αριθμών:
   Number/Int./Fix/Ceiling/Asym. Arith./Sym. Arith./Banker's/Random/Alt.
   ---------------------------------------------------------------------
   0.0    -9   0   9       3            0           0        1      0
				

Σύνολο όλων των αρνητικών αριθμών:
   Number/Int./Fix/Ceiling/Asym. Arith./Sym. Arith./Banker's/Random/Alt.
   ---------------------------------------------------------------------
   -13.5  -18  -9  -9      -12          -15         -13      -13    -14
				

Σύνολο όλων των θετικών αριθμών:
   Number/Int./Fix/Ceiling/Asym. Arith./Sym. Arith./Banker's/Random/Alt.
   ---------------------------------------------------------------------
   13.5   9    9   18      15           15          13       14     14
				

Ο πίνακας εμφανίζει τη διαφορά μεταξύ των διαφόρων μεθόδων στρογγυλοποίησης. Για διανέμονται τυχαία θετικών και αρνητικών αριθμών, Fix(), συμμετρικό αριθμητικός στρογγυλοποίηση, στρογγυλοποίηση του banker και εναλλασσόμενα στρογγυλοποίησης παρέχουν τουλάχιστον διαφορά από πραγματική αθροίσματα με τυχαία στρογγυλοποίηση δεν τώρα πίσω.

Ωστόσο, εάν οι αριθμοί είναι είτε όλα θετικοί ή μόνο αρνητικοί banker του στρογγυλοποίηση, εναλλασσόμενα στρογγυλοποίησης και τυχαία στρογγυλοποίησης παρέχουν λιγότερο διαφορά από την πραγματική αθροίσματα.

Δείγμα που ορίζονται από το χρήστη συναρτήσεις στρογγυλοποίησης

Το δείγμα κώδικα στην ακόλουθη ενότητα λίστα συνάρτηση παρέχει δείγμα υλοποιήσεις για κάθε τύπο στρογγυλοποίησης που περιγράφεται.

Οι συναρτήσεις που παρέχονται:
   AsymDown      Asymmetrically rounds numbers down - similar to Int().
                 Negative numbers get more negative.

   SymDown       Symmetrically rounds numbers down - similar to Fix().
                 Truncates all numbers toward 0.
                 Same as AsymDown for positive numbers.

   AsymUp        Asymmetrically rounds numbers fractions up.
                 Same as SymDown for negative numbers.
                 Similar to Ceiling.

   SymUp         Symmetrically rounds fractions up - that is, away from 0.
                 Same as AsymUp for positive numbers.
                 Same as AsymDown for negative numbers.

   AsymArith     Asymmetric arithmetic rounding - rounds .5 up always.
                 Similar to Java worksheet Round function.

   SymArith      Symmetric arithmetic rounding - rounds .5 away from 0.
                 Same as AsymArith for positive numbers.
                 Similar to Excel Worksheet Round function.

   BRound        Banker's rounding.
                 Rounds .5 up or down to achieve an even number.
                 Symmetrical by definition.

   RandRound     Random rounding.
                 Rounds .5 up or down in a random fashion.

   AltRound      Alternating rounding.
                 Alternates between rounding .5 up or down.

   ATruncDigits  Same as AsyncTrunc but takes different arguments.
				

Όλες οι συναρτήσεις αυτές λαμβάνουν δύο ορίσματα: ο αριθμός στρογγυλοποιείται και ένα Προαιρετική συντελεστή. Εάν παραλειφθεί το συντελεστή, τότε οι συναρτήσεις επιστρέφουν ένα ακέραιος αριθμός που δημιουργείται από μία από τις παραπάνω μεθόδους. Εάν καθορίζεται ο συντελεστής, ο αριθμός προσαρμόζεται με συντελεστή για να δημιουργήσετε διαφορετικά εφέ στρογγυλοποίησης. Για παράδειγμα, AsymArith (2.55, 10) παράγει 2.6, δηλαδή, στρογγυλοποιεί για 1/συντελεστής = 1/10 = 0,1.

ΣΗΜΕΊΩΣΗ: Ένα συντελεστή 0 δημιουργεί ένα σφάλμα χρόνου εκτέλεσης: 1/συντελεστής = 1/0.

Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα διαφόρων παραγόντων:
   Expression       Result  Comment
   --------------------------------------------------------------------
   AsymArith(2.5)     3     Rounds up to next integer.
   BRound(2.18, 20)   2.2   Rounds to the nearest 5 cents (1/20 dollar).
   SymDown(25, .1)   20     Rounds down to an even multiple of 10.
				

Η εξαίρεση την παραπάνω περιγραφή είναι ADownDigits, το οποίο είναι ένα πρότυπο συνάρτηση που σας επιτρέπει να καθορίσετε τον αριθμό των δεκαδικών ψηφίων αντί Ένας συντελεστής.
   Expression            Result Comment
   ---------------------------------------------------------------------
   ADownDigits(2.18, 1)    2.1  Rounds down to next multiple of 10 ^ -1.
				

Συνάρτηση καταχώρησης


   Function AsymDown(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
     AsymDown = Int(X * Factor) / Factor
   End Function

   Function SymDown(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
     SymDown = Fix(X * Factor) / Factor
   '  Alternately:
   '  SymDown = AsymDown(Abs(X), Factor) * Sgn(X)
   End Function

   Function AsymUp(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
   Dim Temp As Double
     Temp = Int(X * Factor)
     AsymUp = (Temp + IIf(X = Temp, 0, 1)) / Factor
   End Function

   Function SymUp(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
   Dim Temp As Double
     Temp = Fix(X * Factor)
     SymUp = (Temp + IIf(X = Temp, 0, Sgn(X))) / Factor
   End Function

   Function AsymArith(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
     AsymArith = Int(X * Factor + 0.5) / Factor
   End Function

   Function SymArith(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
     SymArith = Fix(X * Factor + 0.5 * Sgn(X)) / Factor
   '  Alternately:
   '  SymArith = Abs(AsymArith(X, Factor)) * Sgn(X)
   End Function

   Function BRound(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
   '  For smaller numbers:
   '  BRound = CLng(X * Factor) / Factor
   Dim Temp As Double, FixTemp As Double
     Temp = X * Factor
     FixTemp = Fix(Temp + 0.5 * Sgn(X))
     ' Handle rounding of .5 in a special manner
     If Temp - Int(Temp) = 0.5 Then
       If FixTemp / 2 <> Int(FixTemp / 2) Then ' Is Temp odd
         ' Reduce Magnitude by 1 to make even
         FixTemp = FixTemp - Sgn(X)
       End If
     End If
     BRound = FixTemp / Factor
   End Function

   Function RandRound(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
   ' Should Execute Randomize statement somewhere prior to calling.
   Dim Temp As Double, FixTemp As Double
     Temp = X * Factor
     FixTemp = Fix(Temp + 0.5 * Sgn(X))
     ' Handle rounding of .5 in a special manner.
     If Temp - Int(Temp) = 0.5 Then
       ' Reduce Magnitude by 1 in half the cases.
       FixTemp = FixTemp - Int(Rnd * 2) * Sgn(X)
     End If
     RandRound = FixTemp / Factor
   End Function

   Function AltRound(ByVal X As Double, _
            Optional ByVal Factor As Double = 1) As Double
   Static fReduce As Boolean
   Dim Temp As Double, FixTemp As Double
     Temp = X * Factor
     FixTemp = Fix(Temp + 0.5 * Sgn(X))
     ' Handle rounding of .5 in a special manner.
     If Temp - Int(Temp) = 0.5 Then
       ' Alternate between rounding .5 down (negative) and up (positive).
       If (fReduce And Sgn(X) = 1) Or (Not fReduce And Sgn(X) = -1) Then
       ' Or, replace the previous If statement with the following to
       ' alternate between rounding .5 to reduce magnitude and increase
       ' magnitude.
       ' If fReduce Then
         FixTemp = FixTemp - Sgn(X)
       End If
       fReduce = Not fReduce
     End If
     AltRound = FixTemp / Factor
   End Function

   Function ADownDigits(ByVal X As Double, _
            Optional ByVal Digits As Integer = 0) As Double
     ADownDigits = AsymDown(X, 10 ^ Digits)
   End Function
				

ΣΗΜΕΊΩΣΗ: Με την εξαίρεση των του Excel MRound() συνάρτηση φύλλου εργασίας, στο ενσωματωμένο- Στρογγυλοποίηση λειτουργίες λαμβάνει ορίσματα με τον τρόπο ADownDigits, όπου το δεύτερο όρισμα καθορίζει τον αριθμό των ψηφίων αντί του συντελεστή.

Στρογγυλοποίησης υλοποιήσεις που παρουσιάζονται εδώ χρησιμοποιεί παράγοντα, όπως MRound(), που είναι πιο ευέλικτη, επειδή δεν χρειάζεται να στρογγυλοποιήσετε δύναμη του 10. Μπορείτε να γράψετε τις λειτουργίες εξομοίωσης με τον τρόπο ADownDigits.

Κινητό σημείο περιορισμοί

Όλες τις υλοποιήσεις στρογγυλοποίησης που παρουσιάζονται εδώ χρησιμοποιήσετε διπλά δεδομένα Τύπος, το οποίο μπορεί να αντιπροσωπεύει περίπου 15 δεκαδικά ψηφία.

Δεδομένου ότι δεν είναι όλες οι κλασματικές τιμές μπορούν να εκφραστούν ακριβώς, μπορεί να λάβετε μη αναμενόμενα αποτελέσματα επειδή η εμφανιζόμενη τιμή δεν συμφωνεί με το αποθηκευμένο η τιμή.

Για παράδειγμα, ο αριθμός 2.25 μπορεί να αποθηκεύονται εσωτερικά ως..., 2.2499999 θα στρογγυλοποιήσετε προς τα κάτω με αριθμητικούς στρογγυλοποίηση, αντί επάνω όπως ίσως να Περιμένετε. Επίσης, οι περισσότερες υπολογισμοί περνάει από, μεγαλύτερο αριθμό πιθανότητα ότι η αποθηκευμένη δυαδική τιμή θα αποκλίνει από το ιδανικό δεκαδική τιμή.

Εάν συμβαίνει αυτό, μπορείτε να επιλέξετε έναν διαφορετικό τύπο δεδομένων, όπως Νόμισμα, το οποίο είναι ακριβή 4 δεκαδικά ψηφία.

Μπορείτε επίσης να κάνετε τα δεδομένα τύποι παραλλαγή και CDec() να χρησιμοποιήσετε Μετατρέψτε τα πάντα τον τύπο δεκαδικών δεδομένων που μπορεί να είναι ακριβής 28 δεκαδικά ψηφία.

Στρογγυλοποίηση τιμές νομισματικής μονάδας

Όταν χρησιμοποιείτε τον τύπο δεδομένων Νομισματική μονάδα, που είναι ακριβή 4 δεκαδικά ψηφία, Συνήθως, θέλετε να στρογγυλοποιήσετε σε 2 δεκαδικά ψηφία για σεντς.

Η παρακάτω συνάρτηση Round2CB είναι μια μόνιμη παραλλαγή που εκτελεί του Banker στρογγυλοποίηση 2 δεκαδικά ψηφία αλλά πολλαπλασιάστε το πρωτότυπο ΑΦΜ (Social Security Nymber). Αυτό αποφεύγει μια συνθήκη πιθανή υπερχείλιση, εάν το ποσό είναι πλησιάζει τα όρια του τύπου δεδομένων "Νομισματική μονάδα".
   Function Round2CB (ByVal X As Currency) As Currency
     Round2CB = CCur(X / 100) * 100
   End Function
				

Στρογγυλοποίηση δεκαδικές τιμές

Το ακόλουθο είναι ένα παράδειγμα ασύμμετρη αριθμητικός στρογγυλοποίησης χρησιμοποιώντας το Τύπος δεκαδικών δεδομένων:
   Function AsymArithDec(ByVal X As Variant, _
            Optional ByVal Factor As Variant = 1) As Variant
     If Not IsNumeric(X) Then
       AsymArithDec = X
     Else
       If Not IsNumeric(Factor) Then Factor = 1
       AsymArithDec = Int(CDec(X * Factor) + .5)
     End If
   End Function
				

Απόθεση Precision ως συντόμευση στο στρογγυλοποίησης

Όπως διδασκόμενες στο σχολείο, στρογγυλοποίηση είναι συνήθως αριθμητική στρογγυλοποίησης χρησιμοποιώντας θετική αριθμοί. Με αυτόν τον τύπο στρογγυλοποίησης, χρειάζεται μόνο να γνωρίζετε τον αριθμό 1 ψηφίο πέρα από όπου στρογγυλοποίησης για. Παράβλεψη ψηφία μετά το πρώτο δεκαδικό ψηφίο. Με άλλα λόγια, η ακρίβεια απορρίπτεται ως συντόμευση για Στρογγυλοποίηση την τιμή.

Για παράδειγμα, 2.5 και 2.51 στρογγυλοποίηση έως 3, ενώ 2.4 και 2.49 round προς τα κάτω σε 2.

Κατά τη χρήση του banker στρογγυλοποίησης (ή άλλων μεθόδων που στρογγυλοποίηση.5 είτε επάνω ή προς τα κάτω) ή όταν στρογγυλοποιεί τους αρνητικούς αριθμούς χρήση ασύμμετρων αριθμητικός στρογγυλοποίηση, απόθεση ακρίβεια μπορεί να οδηγήσει σε εσφαλμένα αποτελέσματα όπου ίσως Στρογγυλοποιεί τον πλησιέστερο αριθμό.

Για παράδειγμα, με στρογγυλοποίηση του banker, 2.5 Στρογγυλοποιεί προς τα κάτω για να στρογγυλοποιεί τον αριθμό 2 και 2.51 έως 3.

Με ασύμμετρη αριθμητικούς στρογγυλοποίηση, στρογγυλοποιεί το -2,5 έως -2 κατά-2.51 Στρογγυλοποιεί προς τα κάτω -3.

Οι συναρτήσεις χρήστη που παρουσιάζονται σε αυτό το άρθρο λαμβάνουν πλήρως τον αριθμό ακρίβεια υπόψη κατά την εκτέλεση στρογγυλοποίησης.

Αναφορές

Βοήθεια της Visual Basic, έκδοση 6.0. θέμα: Int, διόρθωση συναρτήσεις Συνάρτηση ROUND

Microsoft Transact SQL Βοήθεια. θέμα: στρογγυλές συνάρτηση. Συνάρτηση δάπεδο. Ανώτατο όριο Συνάρτηση

(c) Microsoft Corporation 1998 κάθε νόμιμου δικαιώματος. Εισφορές Malcolm Φρέιτας, Microsoft Corporation.

Ιδιότητες

Αναγν. άρθρου: 196652 - Τελευταία αναθεώρηση: Παρασκευή, 27 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic for Applications 6.0
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Λέξεις-κλειδιά: 
kbhowto kbmt KB196652 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:196652

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com