Συνάρτηση CInt

Μετατρέπει οποιαδήποτε συμβολοσειρά ή αριθμητική έκφραση σε έναν ακέραιο αριθμό.

Σύνταξη:


CInt (Expression As Variant) As Integer

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

Integer

Παράμετροι:

Expression: Οποιαδήποτε συμβολοσειρά ή αριθμητική έκφραση που θέλετε να μετατρέψετε. Για να μετατρέψετε μια έκφραση συμβολοσειράς, ο αριθμός πρέπει να εισαχθεί ως κανονικό κείμενο χρησιμοποιώντας την προεπιλεγμένη μορφή αριθμού των τοπικών ρυθμίσεων του LibreOffice. Για παράδειγμα, ο αριθμός πρέπει να εισαχθεί χρησιμοποιώντας μια τελεία "." ως υποδιαστολή και κόμμα "," ως διαχωριστικό χιλιάδων (για παράδειγμα 123.456,78) για τη ρύθμιση τοπικών ρυθμίσεων στα αγγλικά.

Εάν το όρισμα είναι συμβολοσειρά, η συνάρτηση περικόπτει το αρχικό κενό διάστημα. Έπειτα προσπαθεί να αναγνωρίσει έναν αριθμό στους παρακάτω χαρακτήρες. Αναγνωρίζεται η παρακάτω σύνταξη:

Το υπόλοιπο της συμβολοσειράς αγνοείται. Εάν η συμβολοσειρά δεν αναγνωρίζεται, π.χ. όταν μετά την περικοπή του αρχικού κενού δεν ξεκινά με συν, πλην, δεκαδικό ψηφίο ή "&" ή όταν η ακολουθία μετά το "&O" είναι μεγαλύτερη από 11 χαρακτήρες ή περιέχει έναν αλφαβητικό χαρακτήρα, η αριθμητική τιμή της έκφρασης είναι 0 .

Εάν το όρισμα είναι σφάλμα, ο αριθμός σφάλματος χρησιμοποιείται ως αριθμητική τιμή της παράστασης.

Εάν το όρισμα είναι ημερομηνία, ο αριθμός ημερών από το 1899-12-30 (σειριακή ημερομηνία) χρησιμοποιείται ως αριθμητική τιμή της έκφρασης. Ο χρόνος αντιπροσωπεύεται ως κλάσμα της ημέρας.

Μετά τον υπολογισμό της αριθμητικής τιμής της παράστασης, στρογγυλοποιείται στον πλησιέστερο ακέραιο (εάν χρειάζεται) και εάν το αποτέλεσμα δεν είναι μεταξύ -32768 και 32767, το LibreOffice Basic αναφέρει ένα σφάλμα υπερχείλισης. Διαφορετικά, το αποτέλεσμα επιστρέφεται.

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

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

Παράδειγμα:

Οι αριθμητικές εκφράσεις εμφανίζονται σύμφωνα με τις LibreOffice τοπικές ρυθμίσεις του LibreOffice:


Sub ExampleCountryConvert
    MsgBox CDbl(1234.5678) ' 1234,5678
    MsgBox CInt(1234.5678) ' 1235
    MsgBox CLng(1234+5678) ' 6912
    MsgBox CSng(1234.5678) ' 1234,567749023

    MsgBox CDbl(expression := 5678.1234) ' 5678,1234
    MsgBox CInt(expression := 5678.1234) ' 5678
    MsgBox CLng(expression := 5678+1234) ' 6912
    MsgBox CSng(expression := 5678.1234) ' 5678,123535156
End Sub

Παρακαλούμε, υποστηρίξτε μας!