国庆节后的第一个工作日,依旧是日常忙。各种需求犹如节后大爆发一样 扑面而来。于是乎,忙于完成需求以及解决各类问题。但是,有颗好奇心的我,怎么会仅仅满足于完成需求,而不在其中找到一些有趣功能转为实用的小工具呢。
数字金额转人民币/美元大写的由来电商、金融类网站是和钱打交道最多的,而电商类在处理订单类更是需要对其进行打印清单,并要求对上面的金额不仅要求是数字,而且还需要人民币数字大写。设置多币种的话,还需要转成对应国家语言的数字金额。着实要花点精力、费点脑子。
实践,匠人精神于是,我既然在完成这个功能的基础上,还是需要基于多种情况进行完善下。
先定义金额转大写 MoneyConvert类,然后
需要 数字金额转人民币大写 就有了:
$money = '100050.23'; echo MoneyConvert::numbertowords(MoneyConvert::MONEY_TYPE_RMB,$money);输入金额:100050.23。转换成大写为: 壹拾万零伍拾元贰角叁分
需要 数字金额转美元大写(美分表达):
$money = '100050.23'; echo MoneyConvert::numbertowords(MoneyConvert::MONEY_TYPE_DOLLAR,$money,'cents');输入金额:100050.23。转换成大写为: ONE HUNDRED THOUSAND,FIFTY AND CENTS TWENTY-THREE ONLY【美分表达(数字转换到文字)】
需要 数字金额转美元大写(美点表达) :
$money = '100050.23'; echo MoneyConvert::numbertowords(MoneyConvert::MONEY_TYPE_DOLLAR,$money,'point');输入金额:100050.23。转换成大写为: ONE HUNDRED THOUSAND,FIFTY AND POINT TWENTY-THREE ONLY【美点表达(拼出大写字母)】
最后是 数字金额转美元大写(分数表达法):
$money = '100050.23'; echo MoneyConvert::numbertowords(MoneyConvert::MONEY_TYPE_DOLLAR,$money,'fraction');输入金额:100050.23。转换成大写为: ONE HUNDRED THOUSAND,FIFTY AND TWENTY-THREE【分数表达法(只接受数字)】
总结数字金额转人民币/美元大写,本身可能不复杂。但是,确实实用。把金额转人民币/美元大写结合场景,发散下思维就能写出一个相对较全的功能。下次再用的时候就方便多了~
参考链接:
https://github/masonyang/smalltools
各位朋友,你们好。我是一名办公软件爱好者,喜欢Excel,会函数、会基础操作、也会一点VBA。喜欢和大家分享、交流一些Excel的知识。欢迎爱好Exce和要学习Excel的朋友,相互学习、一起进步。如果你喜欢我的分享,请关注我,以便第一时间看到我分享的内容。
关于金额的大小写转换,通常用到的是小写金额转大写金额。而我今天要分享的内容是:
小写金额的拆分;小写金额转大写金额【函数方法】小写金额转大写金额【VBA方法】大写金额转小写金额【VBA方法】小写金额转英文【VBA方法】Word里面小写转大写WPS里面小写转大写其他金额小写转大写的方法写在前面:由于文章里面写太多VBA代码会影响阅读体验。故将VBA代码截图处理,需要演示文件的朋友,可以关注我,然后私信发送关键字:大写金额、小写金额、大小写等获取文件。
小写金额的拆分收据
如上图收据样式,在数量、单价中填写好数据,即可生成合计金额,同时将合计金额按十、万、千、百、十、元、角、分为单位拆分出来。接下来,我用一个案例详细给大家分析分析下(用的随机数模拟数据):
金额拆分演示
操作演示中涉及两个函数公式:
公式一:=MID(RIGHT(REPT(" ",9)&TEXT(ROUND($A3/1%,),"¥0"),9),COLUMN(A1),1)
公式二:=LEFT(RIGHT(TEXT(ROUND($A3/1%,)," ¥0"),10-COLUMN(A1)))
解决的思路和公式的理解详见下图:
小写金额拆分,公式理解
小写金额转大写金额【函数方法】金额小写转大写,这个是大家应用得最多的,详见下面动画操作演示:
小写金额转大写金额【函数方法】
操作演示中用的公式是:
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(INT(ABS(A2)),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"),"零角","零"),"零分","整")
公式的理解思路详见下图:
小写金额转大写的公式理解
按照上图拆分,小写金额转大写的函数公式,可以分为四部分:
①判断正负数的:IF(A2<0,"负","")
②转换整数部分的:TEXT(INT(ABS(A2)),"[dbnum2]G/通用格式元;;")
③转换小数部分的:TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整")
④然后把以上三部分用【&】合并起来,在用SUBSTITUTE函数进行2次替换。
要实现相同的效果,不一定限于我示例中用的函数,ROUND、NUMBERSTRING等函数也可以实现,只要按照上图的思路,达到要求的效果就可以。其中,有三点需要解释下:
1、[dbnum2]G/通用格式元;;:①数据大于0的时候,按[dbnum2]G/通用格式元格式显示;②数据小于0的时候,显示空白;③数据等于0的时候,显示空白。(这里使用了格式的前三个区间)【详见下面动图演示】
2、[dbnum2]0角0分;;整:同第一条,①当数据大于0的时候,按[dbnum2]0角0分格式显示角和分,比如:壹角壹分;②如果金额小于0,显示空白;③如果金额等于0,显示整(即无小数,要转换的数据是一个整数)。(这里使用了格式的前三个区间)
Excel数据格式的四个区间,每个区间用【;】隔开
3、[dbnum2]G/通用格式元:将小写数字转换为大写数字,效果见下图的操作演示:
[dbnum2]G/通用格式元
小写金额转大写金额【VBA方法】小写金额转大写【VBA方法】
演示所用的代码如下:
小写金额转大写【VBA代码】
大写金额转小写金额【VBA方法】大写金额转小写金额【VBA方法】
演示所用的代码如下:
大写金额转小写金额【VBA代码】
小写金额转英文【VBA方法】小写金额转英文【VBA方法】
演示所用的代码如下(部分代码):
小写金额转英文【VBA方法】
Word里面小写转大写Word里面小写转大写
注意:此方法只支持整数,小数在转换过程中,会先被四舍五入处理
WPS里面小写转大写选择单元格→右键,选择设置单元格格式→依次选择数字、特殊、类型、【人民币大写】→完成
WPS里面的小写金额转大写金额
其他金额小写转大写的方法1、输入法直接录入:比如搜狗输入法
小写金额转大写(输入法)
2、专业软件:
小写金额转大写(软件)
作者:携程旅行顾问张毅的旅游微店友情提醒*女性游客应该带一条头巾,进入一些宗教场所时参观时遮挡一下头部,以示对当地民俗的尊重。 *在游览宗教圣地时,请注意着装,尽量不要穿超短裙或短裤。 *在 以色列自来水是可以直接饮用的。 *以色列酒店不提供牙膏、牙刷、拖鞋、浴帽等一次性个人物品,为了环保和方便,请游客自备。 *以色列使用220/240伏电压,插座是两口圆柱形的,可能要自配欧标或德标的转换器。 *按犹太教义,犹太人不吃猪肉和海蛰,不能把肉和奶制品一起食用,请尊重他人的习俗和文化。 *在以色列,周五晚上到周六晚上是犹太教安息日,商店超市几乎都关门,火车和长途汽车停运,到周六晚上九点之后恢复部分火车班次。 *旅客入境时可携带本币、外币现金、支票、信用卡或以色列国债券,不限金额,没有上限。 *某些地点是禁止摄影和拍照的,注意警示标记。安息日一定不要请犹太人拍照。 *以色列各大自然保护区和公园内的植物、动物是不许游客采摘和抓捕的。如被发现有上述行为,将被罚款或是判处社区劳动的处罚。 *在以色列的公共场合严禁吸烟。如被查到将会受到当地相关执法部门的重罚,罚额高达500-10000美元不等,请不要违反规定。