This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / String functions
  • 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.
  • "inf" (for " Infinite "), if the result exceeds the capabilities of a real. We advise you to use the conversion to an Variable of type Integer.
  • 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.
This parameter can also be a buffer. In this case, the buffer will be processed differently, according to the option selected in the "Unicode" tab of the configuration description:
  • 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: wd290vm.dll
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment

Last update: 06/27/2023

Send a report | Local help