:) function GetCurrency(number: PChar): string; var tmpStr: string; begin SetLength(tmpStr, 255); GetCurrencyFormat(LOCALE_SYSTEM_DEFAULT, 0, number, nil, PChar(tmpStr), Length(tmpStr)); Result := tmpStr; end;// Beispiel: Example:procedure TForm1.Button1Click(Sender: TObject); begin Application.MessageBox(PChar(GetCurrency(PChar(Edit1.Text))), '', MB_OK);
--存储过程: ------------------------------------*** if object_id('money_stob')is not null drop procedure money_stob go
CREATE procedure money_stob(@Money numeric(15,2)) AS BEGIN declare @x varchar(200) declare @type varchar(200) declare @reslut varchar(200) declare @count int set @x=@Money set @count=1 set @reslut='' while ( @count<=len(@x)) begin select @type=case substring(@x,len(@x)-@count+1,1) WHEN '.' THEN '元' WHEN '0' THEN '零' WHEN '1' THEN '壹' WHEN '2' THEN '贰' WHEN '3' THEN '叁' WHEN '4' THEN '肆' WHEN '5' THEN '伍' WHEN '6' THEN '陆' WHEN '7' THEN '柒' WHEN '8' THEN '捌' WHEN '9' THEN '玖' end select @type=@type+case @count WHEN 1 THEN '分' WHEN 2 THEN '角' WHEN 3 THEN '' WHEN 4 THEN '' WHEN 5 THEN '拾' WHEN 6 THEN '佰' WHEN 7 THEN '仟' WHEN 8 THEN '万' WHEN 9 THEN '拾' WHEN 10 THEN '佰' WHEN 11 THEN '仟' WHEN 12 THEN '亿' WHEN 13 THEN '拾' WHEN 14 THEN '佰' WHEN 15 THEN '仟' WHEN 16 THEN '万' ELSE '' end set @reslut=@type+@reslut set @count=@count+1 end begin set @reslut=replace(@reslut,'零拾','零') set @reslut=replace(@reslut,'零佰','零') set @reslut=replace(@reslut,'零仟','零') set @reslut=replace(@reslut,'零零零','零') set @reslut=replace(@reslut,'零零','零') set @reslut=replace(@reslut,'零角零分','整') set @reslut=replace(@reslut,'零分','整') set @reslut=replace(@reslut,'零角','零') set @reslut=replace(@reslut,'零亿零万零元','亿元') set @reslut=replace(@reslut,'亿零万零元','亿元') set @reslut=replace(@reslut,'零亿零万','亿') set @reslut=replace(@reslut,'零万零元','万元') set @reslut=replace(@reslut,'万零元','万元') set @reslut=replace(@reslut,'零亿','亿') set @reslut=replace(@reslut,'零万','万') set @reslut=replace(@reslut,'零元','元') set @reslut=replace(@reslut,'零零','零') end if ('元'=substring(@reslut,1,1)) begin set @reslut=substring(@reslut,2,(len(@reslut)-1)) end if ('零'=substring(@reslut,1,1)) begin set @reslut=substring(@reslut,2,(len(@reslut)-1)) end if('角'=substring(@reslut,1,1)) begin set @reslut=substring(@reslut,2,(len(@reslut)-1)) end if ('分'=substring(@reslut,1,1)) begin set @reslut=substring(@reslut,2,(len(@reslut)-1)) end if ('整'=substring(@reslut,1,1)) begin set @reslut='零元整' end print @reslut END
function GetCurrency(number: PChar): string;
var
tmpStr: string;
begin
SetLength(tmpStr, 255);
GetCurrencyFormat(LOCALE_SYSTEM_DEFAULT, 0, number, nil, PChar(tmpStr), Length(tmpStr));
Result := tmpStr;
end;// Beispiel: Example:procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MessageBox(PChar(GetCurrency(PChar(Edit1.Text))), '', MB_OK);
------------------------------------***
if object_id('money_stob')is not null
drop procedure money_stob
go
CREATE procedure money_stob(@Money numeric(15,2))
AS
BEGIN
declare @x varchar(200)
declare @type varchar(200)
declare @reslut varchar(200)
declare @count int
set @x=@Money
set @count=1
set @reslut=''
while ( @count<=len(@x))
begin
select @type=case substring(@x,len(@x)-@count+1,1)
WHEN '.' THEN '元'
WHEN '0' THEN '零'
WHEN '1' THEN '壹'
WHEN '2' THEN '贰'
WHEN '3' THEN '叁'
WHEN '4' THEN '肆'
WHEN '5' THEN '伍'
WHEN '6' THEN '陆'
WHEN '7' THEN '柒'
WHEN '8' THEN '捌'
WHEN '9' THEN '玖'
end
select @type=@type+case @count
WHEN 1 THEN '分'
WHEN 2 THEN '角'
WHEN 3 THEN ''
WHEN 4 THEN ''
WHEN 5 THEN '拾'
WHEN 6 THEN '佰'
WHEN 7 THEN '仟'
WHEN 8 THEN '万'
WHEN 9 THEN '拾'
WHEN 10 THEN '佰'
WHEN 11 THEN '仟'
WHEN 12 THEN '亿'
WHEN 13 THEN '拾'
WHEN 14 THEN '佰'
WHEN 15 THEN '仟'
WHEN 16 THEN '万'
ELSE ''
end
set @reslut=@type+@reslut
set @count=@count+1
end
begin
set @reslut=replace(@reslut,'零拾','零')
set @reslut=replace(@reslut,'零佰','零')
set @reslut=replace(@reslut,'零仟','零')
set @reslut=replace(@reslut,'零零零','零')
set @reslut=replace(@reslut,'零零','零')
set @reslut=replace(@reslut,'零角零分','整')
set @reslut=replace(@reslut,'零分','整')
set @reslut=replace(@reslut,'零角','零')
set @reslut=replace(@reslut,'零亿零万零元','亿元')
set @reslut=replace(@reslut,'亿零万零元','亿元')
set @reslut=replace(@reslut,'零亿零万','亿')
set @reslut=replace(@reslut,'零万零元','万元')
set @reslut=replace(@reslut,'万零元','万元')
set @reslut=replace(@reslut,'零亿','亿')
set @reslut=replace(@reslut,'零万','万')
set @reslut=replace(@reslut,'零元','元')
set @reslut=replace(@reslut,'零零','零')
end
if ('元'=substring(@reslut,1,1))
begin
set @reslut=substring(@reslut,2,(len(@reslut)-1))
end
if ('零'=substring(@reslut,1,1))
begin
set @reslut=substring(@reslut,2,(len(@reslut)-1))
end
if('角'=substring(@reslut,1,1))
begin
set @reslut=substring(@reslut,2,(len(@reslut)-1))
end
if ('分'=substring(@reslut,1,1))
begin
set @reslut=substring(@reslut,2,(len(@reslut)-1))
end
if ('整'=substring(@reslut,1,1))
begin
set @reslut='零元整'
end
print @reslut
END
不意思了
我看错了:)
wooting(不醉)写的很全了:)