1

我在数据库中有一个值为 2.700000002 的值。当我在 SQL SERVER 2005 的 Management Studio 中运行查询时,我得到 2.7。但是当我在 SQL SERVER 2000 查询分析器中运行时,它会出现 2.700000002。

2.70000002 是正确的 为什么 SQL SERVER 2005 试图通过舍入或选择底值来更改该值?

4

2 回答 2

2

完全相同的目标服务器、数据库、数据类型、处理器、架构等?

如果没有,这只是工具如何显示近似浮点值的方式

于 2010-04-12T19:28:47.957 回答
0

大多数事情都会将数字四舍五入以进行显示。

~$ ghci
Prelude> 2.7
2.7
~$ irb
>> 2.7
=> 2.7
~$ python
>>> 2.7
2.7000000000000002

对于交互式使用,这通常已经足够了——唯一能看到查询分析器的人就是你,那么这有什么关系呢?对于实际显示,无论如何您都应该指定格式。如果您确实需要 的确切值"2.7",那么无论如何您都应该使用小数类型,因为无数文章和答案可以告诉您。

于 2010-04-12T19:33:18.320 回答