历史版本4 :将数字转换成大写中文形式 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
问题描述
在票据、落款类报表中,为防止随意涂改作假,常需将金额数字转换为大写中文人民币形式。
2 解决思路编辑
使用NUMTO()、CONCATENATE()、MAPARRAY()等函数组合运用,通过字符转化,替换,拼接等方式,将其转化为中文人民币输出即可。
示例: 1234.123 返回值:壹仟贰佰叁拾肆点壹贰叁
示例: 520.1314 返回值:伍佰贰拾点壹叁壹肆
示例: 12.12 返回值:壹拾贰点壹贰
注:NUMTO()函数不支持小数。
3. 示例编辑
3.1 控件设置
新建一张普通报表,右击任意单元格(例如A1单元格),输入数值(1234.123),如下:
3.2 公式设置
选中B1单元格,输入公式:=CONCATENATE(REPLACE(CNMONEY(LEFT(A1, FIND(".", A1) - 1)), "圆整", ""), "点", REPLACE(MAPARRAY(split(mid(A1, FIND(".", A1) + 1, 100), ""), SWITCH(item, '0', "零", '1', "壹", '2', "贰", "3", "叁", '4', "肆", "5", "伍", "6", "陆", '7', "柒", '8', "捌", '9', "玖")), ",", ""))
注:公式以“小数点”分割,左边部分通过函数CNMONEY()直接转换,右边部分通过函数MAPARRAY()将具体每一位数字转换成杜对应的大写中文字符,最后将整个结果通过函数CONCATENATE()拼接起来。
3. 保存预览编辑
保存模板后,选择分页预览。显示效果所示:
注:有些日期的中文形式还想含有星期,公式如下所示。