[程序]人民币大写金额的转换程序

医院门诊、住院打印发票时需要打印人民币大写金额。

HIS开始使用的大写转换程序是自己用Perl写的,算法很简单,没有大问题,就是个别情况下大写金额“不规范”,所谓的“不规范”其实就是下面程序中需要特殊处理的几种情况.

在网上查了一下,看看有没有很规范的大写金额转变程序,在CPAN上没有查到,不过在网上查到这个网页:

http://www.newmasterpieces.com/blog/?p=25

这个程序我试了一下,还是有点小问题,就是对于带小数的金额可以正确转变,对于只有整数的金额无法转换,可能是运行环境的原因.

所以我又修改了一下这个程序,在命令行下运行没有问题,源代码放在下面。再稍微改动一下,做成一个转换函数,就可以放在CGI程序里调用,目前医院的HIS已经在使用这个“规范”的大写金额转换程序:

(由于itpub博客的原因,程序中的反斜杠被过滤掉了,谁知道如何在itpub博客中显示反斜杠?请告诉我)

[@more@]

#!/usr/bin/perl

my $money = ;
chomp $money;

my %numberhash=("0"=>"零","1"=>"壹","2"=>"贰","3"=>"叁","4"=>"肆", "5"=>"伍","6"=>"陆","7"=>"柒","8"=>"捌","9"=>"玖");
my @digitarray= ("分","角","元","拾","佰","仟","万","拾","百","仟","亿");


my $result="";
my @int;
my @float;
my $len;
my $i;


if($money=~/./)
{
@int=split "",$`;#整数部分
@float=split "",$

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129783/viewspace-1023757/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21129783/viewspace-1023757/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值