2

我只是在回答一个问题

所以我尝试自己计算并检查结果。但我得到的结果总是一个四舍五入的值。为什么 ??

其实我应该得到0.1428 ......

在此处输入图像描述

@每个回答的人:谢谢大家,根据SO规则我只能接受一个答案,所以接受最早的一个。

4

5 回答 5

3

试试看

select 2.0 / 14

如果你使用整数,结果也将是整数。整数不是浮点数

于 2012-04-19T12:14:07.137 回答
2

You are doing integer division.

At least one of the operands needs to be a float/decimal in order for the whole expression to evaluate to one of those types.

于 2012-04-19T12:14:38.780 回答
2

Try this:

declare @a float
set @a = 2.0/14.0
select a=@a
于 2012-04-19T12:14:42.440 回答
2

SELECT 2.0/14

Need to decimal place to "trigger" the floating point

于 2012-04-19T12:15:02.877 回答
2

整数除法的结果2/14始终为 0。

试试2.0/14.0吧。

于 2012-04-19T12:14:09.290 回答