# CVL

The CVL function converts 4 byte STRING values to LONG numeric values.

Syntax: CVL(4-byte string)

• Numeric values read from a RANDOM-access or BINARY disk file must be converted from ASCII string characters back into numbers if they are to be arithmetically manipulated.
• LONG Integer values can be from -2147483648 to 2147483647.
• CVL converts a 4 byte string created by MKL\$ to a LONG integer numerical value.
• CVI converts a 2-byte string created by MKI\$ to an INTEGER numerical value.
• CVS converts a 4-byte string created by MKS\$ to a SINGLE-precision numerical value.
• CVD converts an 8-byte string created by MKD\$ to a DOUBLE-precision numerical value.
• CV functions can only be used to convert values from MK\$ string function values or data from BINARY files!

Example 1: 4 byte ASCII character strings show how CVL multipliers convert MKL\$ values into a 4 byte LONG value.

PRINT CVL(CHR\$(1) + STRING\$(3, 0)) 'ASC(CHR\$(1)) * 1 = 1 PRINT CVL(CHR\$(0) + CHR\$(1) + STRING\$(2, 0)) 'ASC(CHR\$(1)) * 256 = 256 PRINT CVL(STRING\$(2, 0) + CHR\$(1) + CHR\$(0)) 'ASC(CHR\$(1)) * 256 * 256 = 65536 PRINT CVL(STRING\$(3, 0) + CHR\$(1)) 'ASC(CHR\$(1)) * 256 * 256 * 256 = 16777216

Example 2:

FIELD #1, 4 AS N\$, 12 AS B\$... GET #1 Y& = CVL(N\$)

Explanation: Reads a field from file #1, and converts the first four bytes (N\$) into a long integer value assigned to the variable Y&.
Since a long number can contain as many as ten ASCII characters (ten bytes), writing a file using MKL\$ conversion, and reading with the CVL conversion, as many as six bytes per number recorded are saved on the storage medium.