小数位数问题,请教

xzzxg 2005-01-06 10:21:49
declare @a float
declare @b float
declare @c float

select @a=642
select @b=700

select @c=@a/@b * 100
select round(@c,2)
-----------------------------------------------------
91.709999999999994

(所影响的行数为 1 行)

问题:
如何返回91.71 (不是91.710000000)
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlp321002 2005-01-06
  • 打赏
  • 举报
回复
也可以:
select cast( round(@c,2) as decimal(8,2))
chinaandys 2005-01-06
  • 打赏
  • 举报
回复
改用: numeric(10,2)等
NinGoo 2005-01-06
  • 打赏
  • 举报
回复
declare @a float
declare @b float
declare @c float

select @a=642
select @b=700

select @c=@a/@b * 100
select convert(decimal(9,2),@c)
老宛 2005-01-06
  • 打赏
  • 举报
回复
declare @a float
declare @b float
declare @c float

select @a=642
select @b=700

select @c=@a/@b * 100
select round(@c,2)

select cast(@c as decimal(10,2))


select @c=@a/@b * 100
select cast(@c as decimal(10,2))
zlp321002 2005-01-06
  • 打赏
  • 举报
回复
其实前台显示已经是: 91.71 了!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧