CDec Function

Named Arguments

Syntax

CDec( expression) expression

Use: Required

Data Type: Numeric or String

The range is +/-79,228,162,514,264,337,593,543,950,335 for numbers with no decimal places. For numbers with up to 28 decimal places, the range is +/-7.9228162514264337593543950335. The smallest possible nonzero number is 0.0000000000000000000000000001.

Return Value expression cast as a Variant Decimal subtype.

152 Chapter 7- The Language Reference

Description

As there is no intrinsic Decimal data type in Visual Basic, CDec actually casts expression as a variant of subtype Decimal.

Rules at a Glance

• If the value of expression is outside the range of the double data type, an overflow error is generated.

• Expression must evaluate to a numeric value; otherwise a type-mismatch error is generated. To prevent this, it can be tested beforehand with the IsNu-meric function.

Example

Dim decMyNumber If IsNumeric(sMyNumber) then decMyNumber = CDec(sMyNumber) End If

Programming Tips & Gotchas

• Use the Decimal variant subtype for very large, very small, or very high precision numbers.

• Use IsNumeric to test whether expression evaluates to a number.

• When converting a string representation of a number to a numeric, you should use the data type conversion functions—such as CDec—instead of Val, because the data type conversion function takes account of the system's regional settings. In particular, the CDec function recognizes the thousands separator if it's encountered in the string representation of a number. For example, if the user inputs the value 1,827,209.6654, CDec converts it to the decimal value 1827209.6654, while Val converts it to a double value of 1.

See Also

CVar Function, FormatNumber Function, Val Function

0 0

Post a comment

  • Receive news updates via email from this site