数字转大写汉字

2490阅读 0评论2014-03-07 yestreenstars
分类:LINUX

原帖链接:

点击(此处)折叠或打开

  1. #!/bin/awk -f
  2. BEGIN{FS="";split("壹贰叁肆伍陆柒捌玖",a,"")}
  3. {
  4.         k=0
  5.         for(i=0;i++<NF;){
  6.                 t=NF-i+1
  7.                 if(t!~/^5|9$/){
  8.                         if(!$i){k++;continue}
  9.                         if(k){k=0;printf "零"}
  10.                 }else{
  11.                         if(k&&$i)printf "零"
  12.                 }
  13.                 printf a[$i]
  14.                 if(k>2&&t==5&&!$i)continue
  15.                 if(t==5)printf "万"
  16.                 if(t==9)printf "亿"
  17.                 if(t%4==2)printf "拾"
  18.                 if(t%4==3)printf "佰"
  19.                 if(t%4==0)printf "仟"
  20.         }
  21.         print $0?"圆整":"";
  22. }

上一篇:用Linux命令行生成随机密码的十种方法
下一篇:用正则来匹配IP地址