免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1946 | 回复: 3
打印 上一主题 下一主题

转换中文大写金额的脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-29 17:36 |只看该作者 |倒序浏览

  1. num=$1
  2. len=`echo $1|awk '{print length($0)}'`
  3. if [ $num -lt 1 ];then
  4.         len=`expr $len - 2`
  5.         num=`echo $num|awk '{printf("%d",$0*100)}'`
  6. fi
  7. j=0
  8. i=$len
  9. while [ $i -gt 0 ];do
  10.         cc=`echo $num|awk '{print substr($0,'"$i"',1)}'`
  11.         j=`expr $j + 1`
  12.         case $cc in
  13.         ".")tmp="元";;
  14.         "0")tmp="零";;
  15.         "1")tmp="壹";;
  16.         "2")tmp="贰";;
  17.         "3")tmp="叁";;
  18.         "4")tmp="肆";;
  19.         "5")tmp="伍";;
  20.         "6")tmp="陆";;
  21.         "7")tmp="柒";;
  22.         "8")tmp="捌";;
  23.         "9")tmp="玖";;
  24.         esac

  25.         case $j in
  26.         "1")tmp=$tmp"分";;
  27.         "2")tmp=$tmp"角";;
  28.         "3")tmp=$tmp"";;
  29.         "4")tmp=$tmp"";;
  30.         "5")tmp=$tmp"拾";;
  31.         "6")tmp=$tmp"佰";;
  32.         "7")tmp=$tmp"仟";;
  33.         "8")tmp=$tmp"万";;
  34.         "9")tmp=$tmp"拾";;
  35.         "10")tmp=$tmp"佰";;
  36.         "11")tmp=$tmp"仟";;
  37.         "12")tmp=$tmp"亿";;
  38.         "13")tmp=$tmp"拾";;
  39.         "14")tmp=$tmp"佰";;
  40.         "15")tmp=$tmp"仟";;
  41.         "16")tmp=$tmp"万";;
  42.         esac
  43.         i=`expr $i - 1`
  44.         temp=$tmp$temp
  45. done
  46. temp=`echo $temp|sed 's/零拾/零/'`
  47. temp=`echo $temp|sed 's/零佰/零/'`
  48. temp=`echo $temp|sed 's/零仟/零/'`
  49. temp=`echo $temp|sed 's/零零零/零/'`
  50. temp=`echo $temp|sed 's/零零/零/'`
  51. temp=`echo $temp|sed 's/零角零分/整/'`
  52. temp=`echo $temp|sed 's/零分/整/'`
  53. temp=`echo $temp|sed 's/零分/整/'`
  54. temp=`echo $temp|sed 's/零亿零万零元/亿元/'`
  55. temp=`echo $temp|sed 's/亿零万零元/亿元/'`
  56. temp=`echo $temp|sed 's/零亿零万/亿/'`
  57. temp=`echo $temp|sed 's/零万零元/万元/'`
  58. temp=`echo $temp|sed 's/万零元/万元/'`
  59. temp=`echo $temp|sed 's/零亿/亿/'`
  60. temp=`echo $temp|sed 's/零万/万/'`
  61. temp=`echo $temp|sed 's/零元/元/'`
  62. temp=`echo $temp|sed 's/零零/零/'`

  63. echo $temp
复制代码

[ 本帖最后由 hwhcom 于 2007-4-29 17:53 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-04-29 17:42 |只看该作者
  1. sh aaa.sh 5654645945.67
  2. 伍拾陆亿伍仟肆佰陆拾肆万伍仟玖佰肆拾伍元陆角柒分
  3. sh aaa.sh 12345678.00
  4. 壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元整
复制代码

论坛徽章:
0
3 [报告]
发表于 2007-04-29 19:29 |只看该作者
不理想:

$ daxie 123.45
壹佰贰拾叁元肆角伍分
$ daxie 1000
壹整
$ daxie 1.23
壹元贰角叁分
$ daxie 123
壹贰角叁分

论坛徽章:
0
4 [报告]
发表于 2007-04-30 09:06 |只看该作者
linuxsir的脚本分享区里有很多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP