最简单的阿拉伯数字转大写(财务专用)
存储过程实现
在Sql Server2000和Sql Server2005测试通过
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1
create
proc
[
dbo
]
.
[
GetCapitalWords
]
(
@num
bigint
)
2 as
3 begin
4 declare @temp bigint , @index int , @returnWords varchar ( 8000 ), @capitalWords varchar ( 8000 )
5 set @capitalWords = ' 零一二三四五六七八九十 '
6 set @returnWords = ''
7 set @temp = @num
8 while @temp > 0
9 begin
10 set @index = @temp % 10 + 1
11 set @returnWords = substring ( @capitalWords , @index , 1 ) + @returnWords
12 set @temp = @temp / 10
13 end
14 print @returnWords
15 end
16
17
18 exec GetCapitalWords 43027300660
19
20 -- 输出
21 -- 四三零二七三零零六六零
2 as
3 begin
4 declare @temp bigint , @index int , @returnWords varchar ( 8000 ), @capitalWords varchar ( 8000 )
5 set @capitalWords = ' 零一二三四五六七八九十 '
6 set @returnWords = ''
7 set @temp = @num
8 while @temp > 0
9 begin
10 set @index = @temp % 10 + 1
11 set @returnWords = substring ( @capitalWords , @index , 1 ) + @returnWords
12 set @temp = @temp / 10
13 end
14 print @returnWords
15 end
16
17
18 exec GetCapitalWords 43027300660
19
20 -- 输出
21 -- 四三零二七三零零六六零