数字转中文大写

Yothan 2010-09-11 04:04:49
求将阿拉伯数字转为中文大写的算法。

不要金额的
比如
1-> 一
2 ->二
。。。

11-> 十一
。。
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yothan 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lyhoo163 的回复:]
SmallToBigStr(123435.12):
输出:大写:人民币壹拾万叁仟肆佰叁拾伍元壹角贰分
SmallToBigStr(-123435.12):
输出:大写:人民币(负)壹拾万叁仟肆佰叁拾伍元壹角贰分
[/Quote]

我承认我很懒,没有改。。
lyhoo163 2010-09-12
  • 打赏
  • 举报
回复
这是我编写的函数,修改一下就可以啦。
lyhoo163 2010-09-12
  • 打赏
  • 举报
回复
SmallToBigStr(123435.12):
输出:大写:人民币壹拾万叁仟肆佰叁拾伍元壹角贰分
SmallToBigStr(-123435.12):
输出:大写:人民币(负)壹拾万叁仟肆佰叁拾伍元壹角贰分
lyhoo163 2010-09-12
  • 打赏
  • 举报
回复
function SmallToBigStr(Small:DouBle):string; // 小写数字 TO 大写汉字
var SmallMonth,BigMonth:String;
wei1,QianWei1:String;
wei,QianWei,dianweizhi,qian:integer;
T:boolean;
begin
T:=False;
if Small<0 then
begin
T:=True;
Small:=Small*-1;
end;
Qianwei:=-2;
SmallMonth:=FormatFloat('0.00',small);
dianweizhi:=pos('.',Smallmonth);
for qian:=Length(Smallmonth) downto 1 do
begin
if qian<>dianweizhi then
begin
case StrToInt(Copy(Smallmonth,Qian,1)) of
1:wei1:='壹';
2:wei1:='贰';
3:wei1:='参';
4:wei1:='肆';
5:wei1:='伍';
6:wei1:='陆';
7:wei1:='柒';
8:wei1:='捌';
9:wei1:='玖';
0:wei1:='零';
end;
case Qianwei of
-3:qianwei1:='厘';
-2:qianwei1:='分';
-1:qianwei1:='角';
0:qianwei1:='元';
1:qianwei1:='拾';
2:qianwei1:='佰';
3:qianwei1:='千';
4:qianwei1:='万';
5:qianwei1:='拾';
6:qianwei1:='佰';
7:qianwei1:='千';
8:qianwei1:='亿';
9:qianwei1:='十';
10:qianwei1:='佰';
11:qianwei1:='千';
end;
inc(Qianwei);
BigMonth:=wei1+qianwei1+bigMonth;
end;
end;
if T then Result := '大写:人民币(负)'+BigMonth
else Result := '大写:人民币'+BigMonth;
end;
Yothan 2010-09-11
  • 打赏
  • 举报
回复
不要金额的。

101-> 一百零一
dinoalex 2010-09-11
  • 打赏
  • 举报
回复
http://blog.zol.com.cn/464/article_463640.html
dinoalex 2010-09-11
  • 打赏
  • 举报
回复
101??

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧