跳到主要内容

如何将金额转换为大写

在日常使用宜搭中,很多场景下需要将录入的数字字段的值转换为大写,比如合同中的金额需要转成大写进行打印。

下面看下集中不同的数字转换大写的函数写法。

1. 数字转大写金额(含角分)

在数字转大写的时候,通常有两种情况,一种是金额类数字转大写,一种是普通的数字转大写。

当金额类数字转大写是,需要用到的函数如下:

  • RMBFORMAT:格式化为人民币格式

下述代码可直接复制到公式编辑器内,注意替换金额字段

{"text":"RMBFORMAT(​金额​)","marks":[{"from":{"line":0,"ch":10,"sticky":null},"to":{"line":0,"ch":14,"sticky":null},"value":"numberField_ksr4oq3u","invalid":false}],"isCmData":true}

2. 数字转大写金额(不含角分)

在数字转大写的时候,通常有两种情况,一种是金额类数字转大写,一种是普通的数字转大写。

当金额类数字转大写是,需要用到的函数如下:

  • RMBFORMAT:格式化为人民币格式
  • INT: 将数字向下舍入到最接近的整数

下述代码可直接复制到公式编辑器内,注意替换金额字段

{"text":"RMBFORMAT(INT(​金额​))","marks":[{"from":{"line":0,"ch":14,"sticky":null},"to":{"line":0,"ch":18,"sticky":null},"value":"numberField_ksr4oq3u","invalid":false}],"isCmData":true}

3. 数字转大写(不含小数点)

数字转大写在不含小数点时需要用到的公式为:

  • RMBFORMAT:格式化为人民币格式
  • INT: 将数字向下舍入到最接近的整数
  • MID:在A字符串中,从第 B 位开始取出 C 个字符
  • VALUE:将文本转化为数字
  • LEN:返回文本字符串中的字符个数

下述代码可直接复制到公式编辑器内,注意替换金额字段

{"text":"MID(RMBFORMAT(​金额​),1,VALUE(LEN(RMBFORMAT(INT(​金额​)))-2))","marks":[{"from":{"line":0,"ch":14,"sticky":null},"to":{"line":0,"ch":18,"sticky":null},"value":"numberField_ksr4oq3u","invalid":false},{"from":{"line":0,"ch":46,"sticky":null},"to":{"line":0,"ch":50,"sticky":null},"value":"numberField_ksr4oq3u","invalid":false}],"isCmData":true}

4. 数字转大写(含小数点)

数字转大写在含小数点时需要用到的公式为:

  • IF:IF(判断条件,结果为 true 的返回值, 结果为 false 的返回值)
  • ISEMPTY:判断一个字段是否为空;如果为空,则返回 true;如果不为空则返回 false。
  • CONCATENATE: 将多个文本字符串合并成一个文本字符串;
  • SPLIT(text, text_separator): 将文本按指定字符串分割成数组,需要配合 ARRAYGET 函数使用;
  • ARRAYGET(Array, k) :返回数据集中第 k 个值;
  • TEXT(num,text_format): 将数字转换成特定格式的文本;
  • LEN:返回文本字符串中的字符个数;
  • INT: 将数字向下舍入到最接近的整数;
  • MID:在A字符串中,从第 B 位开始取出 C 个字符;
  • VALUE:将文本转化为数字;
  • RMBFORMAT:格式化为人民币格式;
  • LEFT:从一个文本字符串的第一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回;

下述代码可直接复制到公式编辑器内,注意替换金额字段

{"text":"IF(ISEMPTY(ARRAYGET(SPLIT(​金额​,"."),2)),CONCATENATE(MID(RMBFORMAT(​金额​),1,VALUE(LEN(RMBFORMAT(INT(​金额​)))-2))),CONCATENATE(MID(RMBFORMAT(​金额​),1,VALUE(LEN(RMBFORMAT(INT(​金额​)))-2)),"",LEFT(RMBFORMAT(MID(ARRAYGET(SPLIT(​金额​,"."),2),1,1)),1),LEFT(RMBFORMAT(MID(ARRAYGET(SPLIT(​金额​,"."),2),2,1)),1)))","marks":[{"from":{"line":0,"ch":26,"sticky":null},"to":{"line":0,"ch":30,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":66,"sticky":null},"to":{"line":0,"ch":70,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":98,"sticky":null},"to":{"line":0,"ch":102,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":137,"sticky":null},"to":{"line":0,"ch":141,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":169,"sticky":null},"to":{"line":0,"ch":173,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":219,"sticky":null},"to":{"line":0,"ch":223,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false},{"from":{"line":0,"ch":275,"sticky":null},"to":{"line":0,"ch":279,"sticky":null},"value":"numberField_ksr9w5kj","invalid":false}],"isCmData":true}

5.效果演示

点击表单,直接查看转换效果:点击查看

宜搭为了更好的优化宜搭使用手册内容和质量,占用您3-5分钟时间,辛苦填写一下文档反馈问卷。文档反馈问卷是匿名提交,同时问卷信息仅用于宜搭文档体验反馈收集,感谢您对宜搭的支持!

点此填写调研问卷


--------------------获取宜搭最新信息,欢迎关注我们--------------------

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4