X hits on this document





55 / 396


real-literal: decimal-digits   .   decimal-digits   exponent-partopt   real-type-suffixopt .   decimal-digits   exponent-partopt   real-type-suffixopt decimal-digits   exponent-part   real-type-suffixopt decimal-digits   real-type-suffix

exponent-part: e   signopt   decimal-digits E   signopt   decimal-digits

sign:  one of +  -

real-type-suffix:  one of F  f  D  d  M  m

If no real-type-suffix is specified, the type of the real literal is double. Otherwise, the real type suffix determines the type of the real literal, as follows:

A real literal suffixed by F or f is of type float. For example, the literals 1f, 1.5f, 1e10f, and 123.456F are all of type float.

A real literal suffixed by D or d is of type double. For example, the literals 1d, 1.5d, 1e10d, and 123.456D are all of type double.

A real literal suffixed by M or m is of type decimal. For example, the literals 1m, 1.5m, 1e10m, and 123.456M are all of type decimal. This literal is converted to a decimal value by taking the exact value, and, if necessary, rounding to the nearest representable value using banker's rounding (§‎4.1.7). Any scale apparent in the literal is preserved unless the value is rounded or the value is zero (in which latter case the sign and scale will be 0). Hence, the literal 2.900m will be parsed to form the decimal with sign 0, coefficient 2900, and scale 3.

If the specified literal cannot be represented in the indicated type, a compile-time error occurs.

The value of a real literal of type float or double is determined by using the IEEE “round to nearest” mode.

Note that in a real literal, decimal digits are always required after the decimal point. For example, 1.3F is a real literal but 1.F is not. Character literals

A character literal represents a single character, and usually consists of a character in quotes, as in 'a'.

character-literal: '   character   '

character: single-character simple-escape-sequence hexadecimal-escape-sequence unicode-escape-sequence

single-character: Any character except ' (U+0027), \ (U+005C), and new-line-character

simple-escape-sequence:  one of \'  \"  \\  \0  \a  \b  \f  \n  \r  \t  \v

hexadecimal-escape-sequence: \x   hex-digit   hex-digitopt   hex-digitopt   hex-digitopt

42Copyright Microsoft Corporation 1999-2003. All Rights Reserved.

Document info
Document views1406
Page views1406
Page last viewedMon Jan 23 04:54:19 UTC 2017