ValInt

FreeBASIC

ValInt
 
Converts a string to a 32bit integer

Syntax

Declare Function ValInt ( ByRef strnum As Const String ) As Long
Declare Function ValInt ( ByRef strnum As Const WString ) As Long

Usage

result = ValInt ( strnum )

Parameters

strnum
the string to convert

Return Value

Returns a Long value of the converted string

If the first character of the string is invalid, ValInt will return 0.

Description

For example, ValInt("10") will return 10, and ValInt("10.60") will return 10 as well. The function parses the string from the left, skipping any white space, and returns the longest number it can read, stopping at the first non-suitable character it finds. Any non-numeric characters, including decimal points and exponent specifiers, are considered non-suitable, for example, ValInt("23.1E+6") will just return 23.

ValInt can be used to convert integer numbers in Binary / Octal / Hexadecimal format, if they have the relevant identifier ("&B;" / "&O;" / "&H;") prefixed, for example: ValInt("&HFF;") returns 255.

If you want to convert a number into string format, use the Str function.

Example

Dim a As String, b As Integer
a = "20xa211"
b = ValInt(a)
Print a, b


20xa211   20


Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Valint.

Differences from QB

  • New to FreeBASIC

See also