将数字转换成大写中文形式

  • Last update:April 12, 2022
  • 1. 概述

    1.1 问题描述

    在票据、落款类报表中,为防止随意涂改作假,常需将金额数字转换为大写中文人民币形式,此时可使用 Cnmoney函数,但如果想要直接展示大写金额同时显示小数格式,不展示为人民币形式该如何实现呢,如下图所示:

    1606273045894137.png

    1.2 解决思路

    方法一:若您使用的设计器是 11.0.4 以及之后的版本,可以使用 NUMTOZH

    方法二:

    使用NUMTO()、CONCATENATE()、MAPARRAY()等函数组合运用,通过字符转化,替换,拼接等方式,将其转化为中文格式输出即可。

    • 示例: 1234.123 返回值:壹仟贰佰叁拾肆点壹贰叁

    • 示例: 520.1314 返回值:伍佰贰拾点壹叁壹肆

    • 示例:      12.12 返回值:壹拾贰点壹贰

    注:NUMTO() 函数不支持小数。

    2. 示例

    2.1 模板设计

    1)新建一张普通报表,右击任意单元格(例如A1单元格),输入数值1234.123,如下图所示:

     1611558749569008.png

    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', "玖")), ",", ""))

    ,如下图所示:

    2020-11-25_10-58-55.png

    公式说明:

    公式以「小数点」分割

    公式说明
    REPLACE(CNMONEY(LEFT(A1, FIND(".", A1) - 1)), "圆整", "")小数点左边部分通过函数CNMONEY()直接转换为中文。
    REPLACE(MAPARRAY(split(mid(A1, FIND(".", A1) + 1, 100), ""), SWITCH(item, '0', "零", '1', "壹", '2', "贰", "3", "叁", '4', "肆", "5", "伍", "6", "陆", '7', "柒", '8', "捌", '9', "玖")), ",", "")右边部分通过函数MAPARRAY()将具体每一位数字转换成杜对应的大写中文字符。
    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', "玖")), ",", ""))左右结果通过函数CONCATENATE()拼接起来。

    2.2 效果预览

    2.2.1 PC端

    保存模板,选择分页预览,如下图所示:

    1606273204153165.png

    2.2.2 移动端

    image.png

    3. 模板下载

    已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\数字转换成中文大写.cpt

    点击下载模板:数字转换成中文大写.cpt


    Attachment List


    Theme: 报表专题
    Already the First
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy