注册 登录
编程论坛 SQL Server论坛

怎样把小数点后补充的零去掉

wxmhry 发布于 2006-04-10 16:50, 4214 次点击
怎样把小数点后补充的零去掉

例如:2.450变成2.45 13.200变成13.2
10 回复
#2
jiweida2006-04-10 18:16

declare @i varchar(10)
set @i='13.200'

while right(@i,1)='0'

set @i=left(@i,len(@i)-1)

select @i

#3
孙大圣2006-04-10 20:09
CONVERT(numeric(10,1),13.200)
#4
jiweida2006-04-10 21:57

三楼的方法应该不行吧,对于2.450就不好使了,就变成2.5了,呵呵。

#5
wxmhry2006-04-11 10:13
先谢谢各位了,不知道还有没有更好的办法
#6
bruce2006-04-11 11:05
在数据库找到这个表
然后打开设计表
选中这个列名
在下面的列中有个小数为数选项把那个改成2就可以了]

[此贴子已经被作者于2006-4-11 11:08:59编辑过]

#7
jiweida2006-04-11 11:25


如果不存在像‘12.0500’ 或‘10.103’这样的数
可以这样试一下
select left(2.450,patindex('%0%','2.450')-1)
select left(13.200,patindex('%0%','13.200')-1)

否则的话好像还真没什么太好的办法呀~

不知道你一共有多少这样的数啊?

#8
bruce2006-04-11 11:33
我的帖子怎么没编辑了啊???
#9
LouisXIV2006-04-11 11:51
以下是引用bruce在2006-4-11 11:33:00的发言:
我的帖子怎么没编辑了啊???

经常这样,原因可能是网页没有完全打开的BUG?

不过如果预览没问题了一般就没问题了(有人发帖子还预览吗?)。

不过楼主这个问题有什么实用价值么?从排版上来看我还是喜欢带零的,比较整齐

[此贴子已经被作者于2006-4-11 11:53:51编辑过]

#10
wxmhry2006-04-13 08:29
一张表上打印多个处方就有点用了(例如输出:甲*0.1 乙*12.125 丙*2),如果名称很多,且数量都是6位宽度的话,一行可能打印不下,这样一缩刚好可以打成一行,且同事们喜欢这样
#11
luoyongru2012-03-05 19:15
回复 楼主 wxmhry
谢谢你 很感谢你 真的很好用 其实找很久了 没有想到如此简单
1