C# 语言规范--2.4.4.3 实数(转)

实数用于编写类型 floatdoubledecimal 的值。

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 符号 可选 十进制数字)
E signopt decimal-digits(E 符号 可选 十进制数字)
sign: one of(符号:下列之一)
+ -
real-type-suffix: one of(实数类型后缀:下列之一)
F f D d M m

如果未指定实数类型后缀,则实数的类型为 double。否则,实数类型后缀确定实数的类型,如下所示:

  • Ff 为后缀的实数的类型为 float。例如,实数 1f1.5f1e10f123.456F 的类型都是 float
  • Dd 为后缀的实数的类型为 double。例如,实数 1d1.5d1e10d 以及 123.456D 的类型都是 double
  • Mm 为后缀的实数的类型为 decimal。例如,实数 1m1.5m1e10m123.456M 的类型都是 decimal。此实数通过取精确值转换为 decimal 值,如果有必要,用银行家舍入法(第 4.1.7 节)舍入为最接近的可表示值。保留该实数的所有小数位数,除非值被舍入或者值为零(在后一种情况中,符号和小数位数为 0)。因此,实数 2.900m 经分析后将形成这样的一个小数:符号为 0、系数为 2900,小数位数为 3

如果一个给定的实数不能用指定的类型表示,则会发生编译时错误。

使用 IEEE“就近舍入”模式确定类型 floatdouble 的实数的值。

注意在实数中,小数点后必须始终是十进制数字。例如,1.3F 是实数,但 1.F 不是。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-924529/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8781179/viewspace-924529/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值