Contents

# CInt Function

Converts any string or numeric expression to an integer.

### Syntax:

    CInt (Expression As Variant) As Integer

### Return type:

Integer

### Parameters:

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 LibreOfficeDev 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.

If the argument is string, the function trims the leading white space; then it tries to recognize a number in following characters. The syntax below are recognized:

- Decimal numbers (with optional leading sign) using decimal and group separators of locale configured in LibreOfficeDev (group separators are accepted in any position), with optional exponential notation like "-12e+1" (where an optionally signed whole decimal number after e or E or d or D defines power of 10);

- Octal numbers like "&Onnn...", where "nnn..." after "&O" or "&o" is sequence no longer than 11 digits, from 0 to 7, up to the next non-alphanumeric character;

- Hexadecimal numbers like "&Hnnn...", where "nnn..." after "&H" or "&h" is sequence of characters up to the next non-alphanumeric character, and must be no longer than 8 digits, from 0 to 9, A to F, or a to f.

The rest of the string is ignored. If the string is not recognized, e.g. when after trimming leading whitespace it doesn't start with plus, minus, a decimal digit, or "&", or when the sequence after "&O" is longer than 11 characters or contains an alphabetic character, the numeric value of expression is 0.

If the argument is an error, the error number is used as numeric value of the expression.

If the argument is a date, number of days since 1899-12-30 (serial date) is used as numeric value of the expression. Time is represented as fraction of a day.

After calculating the numeric value of the expression, it is rounded to the nearest integer (if needed), and if the result is not between -32768 and 32767, LibreOfficeDev Basic reports an overflow error. Otherwise, the result is returned.

### Error codes:

5 Invalid procedure call

### Example:

Numeric expressions are displayed according to LibreOfficeDev 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

Related Topics

CBool Function

CByte Function

CCur Function

CDate Function

CDbl Function

CDec Function

CLng Function

CSng Function

CStr Function

Please support us!