Name
CShort Function
Named Arguments
No
Syntax
CShort(expression)-
expression Use: Required
Data Type: Numeric or String
The range of
expressionis -32,768 to 32,767; fractions are rounded.
Return Value
expression cast as a Short
Description
Converts expression to a Short value; any
fractional portion of expression is
rounded.
Rules at a Glance
expressionmust evaluate to a numeric value; otherwise, a type-mismatch error is generated.If the value of
expressionis outside the range of the Short data type, an overflow error is generated.When the fractional part of
expressionis exactly .5,CShortalways rounds it to the nearest even number. For example, .5 rounds to 0, and 1.5 rounds to 2.
Example
Dim iMyNumber as Short
If IsNumeric(sMyNumber) then
iMyNumber = CShort(sMyNumber)
End IfProgramming Tips and Gotchas
When converting a string representation of a number to a numeric, you should use the data type conversion functions—such as
CShort—instead ofVal, because the data type conversion functions take into account the system’s regional settings. In particular,CShortrecognizes the thousands separator if it’s present inexpression, whereasValdoes not. For example, ifexpressionis 1,234,CShortsuccessfully converts it to the integer value 1234, whileValconverts it to 1.Use
IsNumericto test whetherexpressionevaluates to a number before performing the conversion.CShortdiffers from theFixandIntfunctions, which truncate, rather than round, the fractional part of a number. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access