把阿拉伯数字转换成汉字
2008-03-04 14:33
471 查看
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <--->
-- Create date: <2008-3-4>
-- Description: <将阿拉伯数字转换成汉字大写>
-- =============================================
ALTER function [dbo].[ConvertNumberToChinese](@inputId money)
RETURNS Nvarchar(4000) AS
BEGIN
declare @rV Nvarchar(4000)
declare @tmpstr Nvarchar(4000),@M Nvarchar(4000),@K Nvarchar(4000),@I numeric(38,2),
@J int,@lastJ int,@LastV Nvarchar(10),@LastF Nvarchar(10),@LastE Nvarchar(10),@LastVE Nvarchar(10)
set @I=@inputId
set @K=N''
if @I<0
begin
set @I=0-@I
set @K=N'负'
end
if @I=0 return N'零元整'
select @tmpstr=N'零壹贰叁肆伍陆柒捌玖分角元拾佰仟万拾佰仟亿拾佰仟',@M=cast(cast(@I*100 as bigint) as varchar(800)),@J=len(@M),@LastVE=N''
while @J>=1
begin
set @LastF=substring(@tmpstr, cast(substring(@m,len(@M)-@j+1,1) as bigint)+1,1)
set @LastE=substring(@tmpstr,10+@J,1)
if @LastF<>N'零'
begin
if @LastV=N'零'
if (@lastJ>=7 and @j<7) or (@lastJ>=11 and @j<11 ) or (@lastJ>=3 and @j<=2)
if @J<=2 and @lastJ<=3
set @K=@K+@LastVE+@LastF+@LastE
else
set @K=@K+@LastVE+@LastV+@LastF+@LastE
else
set @K=@K+@LastV+@LastF+@LastE
else
set @K=@K+@LastF+@LastE
select @lastJ=@j,@LastVE=N''
end
else
begin
if @LastVE=N'' and @lastJ>11 set @LastVE=N'亿'
if @LastVE=N'' and @lastJ>7 and @lastJ<10 set @LastVE=N'万'
if @LastVE=N'' and @lastJ>3 and @lastJ<6 set @LastVE=N'元'
if @LastVE=N'' and @lastJ>2 set @LastVE=N'零'
if @LastV<>N'零' set @lastJ=@j
end
set @LastV=@LastF
set @J=@J-1
end
if @lastJ>=6 set @K=@K+@LastVE
if @lastJ>=3 set @K=@K+N'元'
if @lastJ>1 or (@lastJ=1 and @LastV=N'零') set @K=@K+N'整'
set @rv=@K
return @rv
END
相关文章推荐
- Python将汉字数字转换成阿拉伯数字的方法
- [导入][原创] 阿拉伯数字转换汉字大小写以及货币大小写
- 将输入的阿拉伯数字转换的汉字的大写输出
- 写一个程序,语言不限,能将人民币金额从阿拉伯数字转换为大写汉字表示。例如,把1234.56转换为壹仟贰佰叁拾肆圆零伍角陆分。
- java实现 阿拉伯数字转换为汉字数字
- 汉字转换为阿拉伯数字,一百三十四亿一千零二十三万六千六百零九
- 转换人民币大小金额(阿拉伯数字表示的RMB变成汉字RMB)
- 转换阿拉伯数字为汉字数码
- java实现 阿拉伯数字转换为汉字数字 算法
- 阿拉伯数字转换为汉字
- [算法题] 人民币大小写转换(阿拉伯数字和汉字转换)
- 将输入的阿拉伯数字转换的汉字的大写输出
- [算法题] 人民币大小写转换(阿拉伯数字和汉字转换)
- 将汉字数字字符串转换成阿拉伯数字
- 把一个用阿拉伯数字表示的正整数转换成汉字大写表示
- 将小写阿拉伯数字转换成大写的汉字,
- 转换阿拉伯数字为汉字数码
- 将输入的阿拉伯数字转换的汉字的大写输出
- 人民币大小写转换(阿拉伯数字和汉字转换)
- java实现 阿拉伯数字转换为汉字数字 算法