为什么将Decimal描述为固定点?

时间:2011-03-17 14:09:58

标签: .net

From MSDN

  

十进制数是签名的,   由a组成的定点值   整体部分和可选   分数部分。积分和   分数部分由一系列组成   数字范围从0到9   (0到9),用小数点分隔   符号

我认为这是floating point number with base 10.

5 个答案:

答案 0 :(得分:5)

是的,它一个浮点数。这是非常古老的文档 - 它已在.NET 2.0 docs中修复。

(目前还不清楚这是否是由于我提交更正或其他人是否也有。我确实记得我一次又一次地证明我的位置,我认为这很清楚 - 如果Decimal是一个固定点类型,为什么每个值都包含一个指数?我还记得在C#新闻组中有关于此的论点,人们坚持使用文档作为证据,它确实 是一个固定点类型。哦,好吧。)

答案 1 :(得分:4)

我认为这是因为您正在查看Decimal的.NET 1.1版本。 The 3.5 version州:

  

十进制数是一个浮点数   由符号组成的值,a   数字值中的每个数字   值的范围是0到9,和a   缩放因子,表示   浮动小数点的位置   分隔积分和   数值的小数部分。

答案 2 :(得分:3)

如果更改框架的版本,说明会更改:

4.0

  

十进制数是一个浮点数   由符号组成的值,a   数字值中的每个数字   值的范围是0到9,和a   缩放因子,表示   浮动小数点的位置   分隔积分和   数值的小数部分。

我会说它是1.1版本的草率编辑。

即使在下一段的1.1中,也写了:

  

一个二进制表示   Decimal的实例由a组成   1位符号,96位整数,   和用于划分的比例因子   96位整数并指定什么   它的一部分是小数部分。   缩放因子是隐含的   10号,升至指数   范围从0到28。

答案 3 :(得分:1)

这是文档中的错误。最近的文档指出A decimal number is a floating-point value

答案 4 :(得分:1)

这是文档中的错误。您正在阅读.NET 1.1的版本(类似于10年)。如果你看过latest version,你会发现它已被修复。