sql 四舍五入问题? 20
在sql查询里要将数据四舍五入,使用ROUND函数得不到相要的结果,如:ROUND(82.305,2)得到的结果是:82.3,而我想得到82.31的结果,就是只要大于或等...
在sql查询里要将数据四舍五入,使用ROUND函数得不到相要的结果,
如:ROUND(82.305,2)得到的结果是:82.3 ,而我想得到82.31的结果,就是只要大于或等于5就进位。
请问在SQL查询语句里要怎么才能四舍五入得到82.31的结果啊?
谢谢各位!
已经解决了,我用的SQL2000,是因为字段类型设为:float 型了,改成decimal型后,SELECT ROUND(82.305, 2) 得到了82.31的结果. 展开
如:ROUND(82.305,2)得到的结果是:82.3 ,而我想得到82.31的结果,就是只要大于或等于5就进位。
请问在SQL查询语句里要怎么才能四舍五入得到82.31的结果啊?
谢谢各位!
已经解决了,我用的SQL2000,是因为字段类型设为:float 型了,改成decimal型后,SELECT ROUND(82.305, 2) 得到了82.31的结果. 展开
展开全部
Round函数(四舍六入五成双)(转)2007-06-09 15:20Round(所在单元:Math)
功能说明:对一个实数进行四舍五入。(按照银行家算法)
参考实例:
var
I, j: Integer;
begin
i := Round(1.5); // i等于2
j := Round(2.5); // j等于2
//注意Round(2.53)=3
end;
在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:
采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
示例 结果
i:= Round(11.5) 12
i:= Round(10.5) 10
这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面算法:
//提供者FlashDance(10040231) 15:15:58
var
D1,D2:Double;
begin
D1:=3.14159;
D2:=StrToFloat(Format('%.5f',[D1]));
end;
功能说明:对一个实数进行四舍五入。(按照银行家算法)
参考实例:
var
I, j: Integer;
begin
i := Round(1.5); // i等于2
j := Round(2.5); // j等于2
//注意Round(2.53)=3
end;
在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:
采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
示例 结果
i:= Round(11.5) 12
i:= Round(10.5) 10
这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面算法:
//提供者FlashDance(10040231) 15:15:58
var
D1,D2:Double;
begin
D1:=3.14159;
D2:=StrToFloat(Format('%.5f',[D1]));
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在这种情况下,您会得到82.3的结果:
DECLARE @DEC DECIMAL(12,1)
SELECT @DEC=ROUND(82.305,2)
SELECT @DEC
或在前台显示过程中截断了后面的位数
而下面的查询结果,则是正确的(82.31):
SELECT ROUND(82.305,2)
或
DECLARE @DEC DECIMAL(12,2)
SELECT @DEC=ROUND(82.305,2)
SELECT @DEC
DECLARE @DEC DECIMAL(12,1)
SELECT @DEC=ROUND(82.305,2)
SELECT @DEC
或在前台显示过程中截断了后面的位数
而下面的查询结果,则是正确的(82.31):
SELECT ROUND(82.305,2)
或
DECLARE @DEC DECIMAL(12,2)
SELECT @DEC=ROUND(82.305,2)
SELECT @DEC
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT ROUND(82.305, 2)
得到的结果就是82.31呀,你是什么数据库,我用的是SQLSERVER2000
得到的结果就是82.31呀,你是什么数据库,我用的是SQLSERVER2000
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询