如何将数字转换为大写?

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

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

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

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

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

  • CONCATENATE: 将多个文本字符串合并成一个文本字符串;
  • [Num2]: 将数字转为中文大写。123显示为壹佰贰拾叁;
  • IF: 判断条件,结果为true的返回值, 结果为false的返回值;
  • INT(number) : 将数字向下舍入到最接近的整数;
  • TEXT(num,text_format): 将数字转换成特定格式的文本。

函数编写整体如下:

CONCATENATE("人民币",IF(金额>=0,IF(INT(金额)-金额==0,TEXT(INT(金额),"[Num2]")+"元",IF(INT(金额*10)-金额*10==0,TEXT(INT(金额),"[Num2]")+"元"+TEXT(INT(金额*10)-INT(金额)*10,"[Num2]")+"角",TEXT(INT(金额),"[Num2]")+"元"+TEXT(INT(金额*10)-INT(金额)*10,"[Num2]")+"角"+TEXT(INT(金额*100)-INT(金额*10)*10,"[Num2]")+"分")),IF(INT(金额*-1)-金额*-1==0,"负"+TEXT(INT(金额*-1),"[Num2]")+"元",IF(INT(金额*10*-1)-金额*10*-1==0,"负"+TEXT(INT(金额*-1),"[Num2]")+"元"+TEXT(INT(金额*10*-1)-INT(金额*-1)*10,"[Num2]")+"角","负"+TEXT(INT(金额*-1),"[Num2]")+"元"+TEXT(INT(金额*10*-1)-INT(金额*-1)*10,"[Num2]")+"角"+TEXT(INT(金额*100*-1)-INT(金额*10*-1)*10,"[Num2]")+"分"))))

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

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

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

  • CONCATENATE: 将多个文本字符串合并成一个文本字符串;
  • [Num2]: 将数字转为中文大写。123显示为壹佰贰拾叁;
  • IF: 判断条件,结果为true的返回值, 结果为false的返回值;
  • INT(number) : 将数字向下舍入到最接近的整数;
  • TEXT(num,text_format): 将数字转换成特定格式的文本。

函数编写整体如下:

CONCATENATE("人民币",IF(金额>=0,IF(INT(金额)-金额==0,TEXT(INT(金额),"[Num2]")+"元整",IF(INT(金额*10)-金额*10==0,TEXT(INT(金额),"[Num2]")+"元"+TEXT(INT(金额*10)-INT(金额)*10,"[Num2]")+"角整",TEXT(INT(金额),"[Num2]")+"元"+TEXT(INT(金额*10)-INT(金额)*10,"[Num2]")+"角"+TEXT(INT(金额*100)-INT(金额*10)*10,"[Num2]")+"分整")),IF(INT(金额*-1)-金额*-1==0,"负"+TEXT(INT(金额*-1),"[Num2]")+"元整",IF(INT(金额*10*-1)-金额*10*-1==0,"负"+TEXT(INT(金额*-1),"[Num2]")+"元"+TEXT(INT(金额*10*-1)-INT(金额*-1)*10,"[Num2]")+"角整","负"+TEXT(INT(金额*-1),"[Num2]")+"元"+TEXT(INT(金额*10*-1)-INT(金额*-1)*10,"[Num2]")+"角"+TEXT(INT(金额*100*-1)-INT(金额*10*-1)*10,"[Num2]")+"分整"))))

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

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

  • TEXT(num,text_format): 将数字转换成特定格式的文本。

函数编写整体如下:

TEXT(数字,"[Num2]")

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

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

  • CONCATENATE: 将多个文本字符串合并成一个文本字符串;
  • SPLIT(text, text_separator): 将文本按指定字符串分割成数组;
  • TEXT(num,text_format): 将数字转换成特定格式的文本。

函数编写整体如下:

CONCATENATE(SPLIT(TEXT(数字,'[Num2]'),'.')[0],“点”,SPLIT(TEXT(数字,'[Num2]'),'.')[1])

5.效果演示

点击下方表单可以进行效果演示。

点击查看效果


Peach是此帮助页面的作者。如果您对此页面的内容有任何意见,请在下方给她反馈。如需获取即时帮助,请联系技术支持。
本文是否对您有帮助?