This content has been translated automatically.  Click here  to view the French version.
  • Conversion range
  • Val function and UNICODE
  • Miscellaneous
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Returns the numeric value of a character string. This feature enables you to perform numeric calculations on strings.
Remark: This function is equivalent to StringToNum.
Val("143")    // Renvoie 143
Val("1.67")   // Renvoie 1.67
Val("ABC")    // Renvoie 0
Val("3plus2") // Renvoie 3
Val("7,5")    // Renvoie 7
Val("1D2")    // Renvoie 100
Val("2.5e-2") // Renvoie 0.025
<Result> = Val(<Initial string> [, <Base used>])
<Result>: Real or integer
  • Numeric value of the string.
  • 0 if an error occurs.
AndroidAndroid Widget Java In this version, <Result> corresponds to a real.
<Initial string>: Character string or Buffer
Character string to convert to a numeric value.
For a real, the separator must be the dot ('.') and the prefixes for scientific notation can be 'E', 'e', 'D' or 'd'. If the separator is a comma, the numbers after the comma will be ignored.
New in version 28
This parameter can also be a buffer. In this case, the treatment of the buffer varies according to the option selected in the "Unicode" tab of the description configuration:
  • if "Use ANSI strings at runtime" is selected, the buffer will be processed as an ANSI string.
  • if "Use UNICODE strings at runtime" is selected, the buffer will be processed as an ANSI or UNICODE string, depending on its content.
<Base used>: Character string or integer (optional)
Base in which the number is represented. The possible values are as follows:
  • "d": base 10 (decimal)
  • "x": base 16 (hexadecimal)
  • "o": base 8 (octal)
  • an integer between 2 and 36
Base 10 is used by default.
WEBDEV - Browser codeUniversal Windows 10 App This parameter is not available. Base 10 is automatically used.

Conversion range

Val converts a string to an integer if the value is between -9.223.372.036.854.775.808 and 9.223.372.036.854.775.807.

Val function and UNICODE

The <Initial string> can be an ANSI or UNICODE string
For more details on UNICODE, see Managing UNICODE.


If a character of <Initial string> cannot be interpreted as a number, Val stops interpreting <Initial string> and returns the number corresponding to the characters already read.
Reals can be converted from base 10 only. In other bases, all characters after "." (point) will be ignored.
Related Examples:
The Val function Unit examples (WINDEV): The Val function
[ + ] Using the WLanguage "Val" function with different databases.
For example, it allows you to retrieve the decimal value of a string in Hexadecimal format.
Business / UI classification: Neutral code
Component: wd280vm.dll
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment