Συνάρτηση CInt

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

Σύνταξη:


CInt (Expression As Variant) As Integer

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

Integer

Παράμετροι:

Expression: Any string or numeric expression that you want to convert. To convert a string expression, the number must be entered as normal text using the default number format of your LibreOffice locale settings. For instance, the number must be entered using a dot "." as the decimal point and a comma "," as the thousands separator (for instance 123,456.78) for the English locale setting.

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

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

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

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

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

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

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

Παράδειγμα:

Numeric expressions are displayed according to LibreOffice locale settings:


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