ITPub博客

首页 > IT职业 > IT生活 > [程序]人民币大写金额的转换程序

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

原创 IT生活 作者:perltest 时间:2009-07-08 11:13:06 0 删除 编辑

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

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博客 ” ,链接:https://blog.itpub.net/21129783/viewspace-1023757/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-08-15

  • 博文量
    111
  • 访问量
    132263