博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转换为正整数_数字快速转换成中文大写,我有妙招
阅读量:6361 次
发布时间:2019-06-23

本文共 1088 字,大约阅读时间需要 3 分钟。

昨天给大家介绍第二种普通数字转中文大写的方法:NumberString函数法。这种方法和第一种单元格格式法一样存在一个缺陷就是只能对正整数进行转换,所以它不能直接用于平时的财务工作中,不过没关系,既然它能对整数进行转换,如果我们把小数部分变成整数,然后分别转换整数部分和小数部分,最后拼接起来是不是就可以满足要求了呢?

思路对了的话,事情就已经成功了一半了,接下来我们看看如何实现。

假如我们要转换的数字是9876543.21

第一步:通过INT函数分别换算出元、角、分。

元:=INT(F1)角:=INT(G1*10)-INT(G2*10)分:=INT(G1*100)-INT(G2*100)-INT(G3*10)
b07b234358180e2bc56cff4f2038085e.png

元、角、分

第二步:通过NUMBERSTRING函数将换算出来的元、角、分数字转换成中文大写。

元:=NUMBERSTRING(F2,2)角:=NUMBERSTRING(F3,2)分:=NUMBERSTRING(F4,2)
20d6ecf61b7436995cf7586b32457eb0.png

元、角、分大写

第三步:通过链接符号&将元、角、分链接起来组合成一个完整转中文大写的函数。

元:=H2&"元"&IF(AND(F3=0,F4=0),"整","")如果角和分都是零的话,元后面需要跟一个整。角:=IF(F3>0,H3&"角","")如果角是大于零则显示,否则不显示。分:=IF(F4>0,H4&"分","")如果分是大于零则显示,否则不显示。元、角、分组合起来:=H2&"元"&IF(AND(F3=0,F4=0),"整","")&IF(F3>0,H3&"角","")&IF(F4>0,H4&"分","")
a662c562cf455b115aaf6b37a6e1e475.png

元、角、分组合

第四步:继续改造函数为通用函数。

经过前几步的分析演练我们已经知道如何实现了,现在只需要把前面的各个步骤链接起来就可以变成一个通用函数。

=NUMBERSTRING(INT(F1),2)&"元"&IF(AND(INT(F1*10-INT(F1)*10)=0,(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10)=0),"整","")&IF(INT(F1*10-INT(F1)*10)>0,NUMBERSTRING(INT(F1*10-INT(F1)*10),2)&"角","")&IF((INT(F1*100-INT(F1)*100)-(INT(F1*10-INT(F1)*10))*10)>0,NUMBERSTRING(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10,2)&"分","")
da79da0f694ee6e09f8a170a3b86520a.gif

演示效果

转载地址:http://wkima.baihongyu.com/

你可能感兴趣的文章
String StringBuffer StringBuilder对比
查看>>
oracle 中proc和oci操作对缓存不同处理
查看>>
[LeetCode] Spiral Matrix 解题报告
查看>>
60906磁悬浮动力系统应用研究与模型搭建
查看>>
指纹获取 Fingerprint2
查看>>
面试题目3:智能指针
查看>>
flask ORM: Flask-SQLAlchemy【单表】增删改查
查看>>
vim 常用指令
查看>>
nodejs 获取自己的ip
查看>>
你好,C++(16)用表达式表达我们的设计意图——4.1 用操作符对数据进行运算...
查看>>
jdbc 简单连接
查看>>
nasm预处理器(2)
查看>>
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
你对position了解有多深?看完这2道有意思的题你就有底了...
查看>>
WebSocket跨域问题解决
查看>>
Ubuntu 16.04安装Nginx
查看>>
flutter 教程(一)flutter介绍
查看>>
CSS面试题目及答案
查看>>
Spring自定义注解从入门到精通
查看>>