|
|
|
|
|
|
| 献个丑,写了个小写转大写的sp ,0.1 版本继续测试中 |
|
| 作者:武汉SEO闵涛 文章来源:敏韬网 点击数1837 更新时间:2009/4/22 23:09:37 文章录入:mintao 责任编辑:mintao |
|
|
|
p; = ltrim(rtrim(@result))
end
--去最后一个零
if @result like '%零'
begin
select @result = substring( @result , 1,datalength(@result)-2)
select @result = ltrim(rtrim(@result))
end
select @result
end
zhangyh123 回复于:2003-09-23 11:39:39
请大家帮助测试看看 并希望给更好的方案
zhangyh123 回复于:2003-09-23 14:23:47
测试用例子
sp_convertmoney 0.05 伍分
sp_convertmoney 0.45 肆角伍分
sp_convertmoney 1.45 壹元肆角伍分
sp_convertmoney 1.00 壹元整
sp_convertmoney 1.01 壹元零壹分
sp_convertmoney 10.01 壹拾元零壹分
sp_convertmoney 10.81 壹拾元捌角壹分
sp_convertmoney 190.81 壹佰玖拾元捌角壹分
sp_convertmoney 100 壹佰元整
sp_convertmoney 100.01 壹佰元零壹分
sp_convertmoney 1000.10 壹仟元壹角
sp_convertmoney 10000 壹万元整
sp_convertmoney 10000.02 壹万元零贰分
sp_convertmoney 1030000 壹佰零叁万元整
sp_convertmoney 1030000.99 壹佰零叁万元玖角玖分
sp_convertmoney 10000000.01 壹仟万元零壹分
sp_convertmoney 10000000 壹仟万元整
sp_convertmoney 100000000 壹亿元整
sp_convertmoney 100000100 壹亿零壹佰元整
负数没有考虑
如果是0 ,自己可以加一句判断 ,怎么返回看自己要求
if @convmoney =0
begin
select '零元整'
return
end
liugr3988 回复于:2003-09-23 16:13:04
很好,顶!
Blackrose 回复于:2003-09-23 21:50:08
A.
1> sp_convertmoney 0.111
2> go
Msg 241, Level 16, State 2:
Server 'LOCAL', Procedure 'sp_convertmoney':
Scale error during implicit conversion of NUMERIC value '0.111' to a NUMERIC
field.
是不是考虑添加一点四舍五入(可以选择)的功能,或者一点容错...
B.
最大好像就是
玖拾玖亿玖仟玖佰玖拾玖万玖仟玖佰玖拾玖元玖角玖分
不错,算法没有仔细看,功能还是good!!!!
zhangyh123 回复于:2003-09-24 09:17:41
[quote:96e79aae65="Blackrose"]A.
1> sp_convertmoney 0.111
2> go
Msg 241, Level 16, State 2:
Server 'LOCAL', Procedure 'sp_convertmoney':
Scale error during implicit conversion of NUMERIC value '0.111' to a NUMERIC
fie..........[/quote:96e79aae65]
第一 输入必须自己格式化为 numeric(12,2)数据类型。这个是调用的时候出错,不是内部错误。
第二 如果需要更大的可以将程序略改一点,增加一下位数,以及临时表的记录就可以了
我最多用到千万的说 
jazy 回复于:2003-09-24 12:58:04
想法不错,支持一下!!
chenfeng825 回复于:2003-09-24 13:03:57
呵呵。jazy好久没见来了。
上一页 [1] [2] |
|
|
|
|
|
|
|
|
|