Help Center
Help CenterFreeBASIC

CIntfunction

Converts a numeric or string expression to an Integer or an Integer<bits>

Converting Data Typesfunctiondocumented

Syntax

Declare Function CInt ( ByVal expression As datatype ) As Integer
Declare Function CInt<bits> ( ByVal expression As datatype ) As Integer<bits>
Type typename
Declare Operator Cast ( ) As Integer
Declare Operator Cast ( ) As Integer<bits>
End Type

Parameters

NameDescription
bitsA numeric constant expression indicating the size in bits of integer desired. The values allowed are 8, 16, 32 or 64.
expressiona numeric, string, or pointer expression to cast to a Integer value
datatypeany numeric, string, or pointer data type
typenamea user defined type

Return value


An Integer or Integer<bits> containing the converted value.

Description


If CInt is passed a numeric expression, it rounds it using using the round-to-even method - i.e. it rounds to the closest integer value, choosing the closest even integer if the number is equidistant from two integers - and returns an Integer, or if a bits value is supplied, an integer type of the given size.

The function does not check for an overflow; for example, for a 32-bit Integer the results are undefined for values which are less than -2 147 483 648 or larger than 2 147 483 647.

If the argument is a string expression, it is converted to numeric by using ValInt or ValLng, depending on the size of the result type.

The name "CINT" is derived from 'Convert to INTeger'.

Remarks

Usage


result = CInt( expression )
result = CInt( string expression )
result = CInt( user defined type )

Dialect Differences


  • In the -lang qb dialect, CInt will return a 16-bit integer, like in QB.

Differences from QB


  • The string argument was not allowed in QB
  • The <bits> parameter was not allowed in QB

See also


Example


' Using the CINT function to convert a numeric value



'Create an INTEGER variable

Dim numeric_value As Integer



'Convert a numeric value

numeric_value = CInt(300.5)



'Print the result, should return 300, because 300 is even



numeric_value = CInt(301.5)



'Print the result, should return 302, because 301 is odd

Print numeric_value


Reference

  • Documented in KeyPgCint.html