Purpose |
|||||||||||||||||||||||||||||||||||||
Syntax |
bytevar? = CVBYT(stringexpr [, offset]) curvar@ = CVCUR(stringexpr [, offset]) cuxvar@@ = CVCUX(stringexpr [, offset]) doublevar# = CVD (stringexpr [, offset]) doublewordvar??? = CVDWD(stringexpr [, offset]) extendedvar## = CVE (stringexpr [, offset]) integervar% = CVI (stringexpr [, offset]) longintvar& = CVL (stringexpr [, offset]) quadintvar&& = CVQ (stringexpr [, offset]) singlevar! = CVS (stringexpr [, offset]) wordvar?? = CVWRD(stringexpr [, offset]) | ||||||||||||||||||||||||||||||||||||
Remarks |
The CVx functions return a number corresponding to a binary pattern stored in a ANSI string value. The binary pattern is the internal format used by PowerBASIC to store these values in memory. This format follows the IEEE standard wherever it applies. The MKx$ functions are complementary to the CVx functions. Do not confuse these functions with the VAL function, which converts a number stored as a printable text string (such as "123.45") into a numeric expression. In all but the most extreme cases, StringExpr must be an ANSI string or UDT which consists of single bytes. WIDE (Unicode) strings consist of a series of 2-byte words which will generally yield undefined results. The CVx functions allow you to retrieve values beyond the first byte of the StringExpr. In this case, the optional offset parameter tells the byte position where the conversion should begin. This is the byte position, not the character position, even with a WIDE StringExpr. If Offset is not given, it is presumed to be one (1). For example: "Value& = CVL(x$, 3)" would extract the 3rd through 6th bytes of x$ and convert these 4 bytes to the corresponding Long-integer value. In this example, x$ must be at least 6 bytes long.
| ||||||||||||||||||||||||||||||||||||
Restrictions |
Expressions involving Numeric Equates and conditional compilation (#IF) may also include the CVQ function. This allows you to easily assign numeric values to an equate, based upon a meaningful mnemonic. In this context, the CVQ expression is limited to a length of eight bytes. For example: %Mode = CVQ("DEBUG") %Style = CVQ("Cool") CVS limits string display to seven significant digits. | ||||||||||||||||||||||||||||||||||||
See also |