这样将EXCEL中的数字变成中文大写.doc_第1页
这样将EXCEL中的数字变成中文大写.doc_第2页
这样将EXCEL中的数字变成中文大写.doc_第3页
这样将EXCEL中的数字变成中文大写.doc_第4页
这样将EXCEL中的数字变成中文大写.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这样将EXCEL中的数字变成中文大写2009年05月31日 星期日 06:13(1)单纯数字 右键选该单元格,设置单元格格式,数字,特殊,中文大写(2)文字和数字组合 比如数字在A1格为456,要在B1格得到肆佰伍拾陆元整,函数如下“=TEXT(A1,Dbnum2)&元整”,其中dbnum2 是格式函数, 数字转中文大写,有一内建函数与 dbnum2有相同作用, 是numberstring 以上函数也可以写成“=numberstring(A1,2)&元整”(3)复杂数字转中文大写 比如,要将A1格的123456.65转变为壹拾贰万叁仟肆佰伍拾陆圆陆角伍分,在B1格输入以下公式“=TEXT(TRUNC(A1),Dbnum2)&圆&IF(ROUND(A1-TRUNC(A1)*100,1)0,IF(LEN(ROUND(A1-TRUNC(A1)*100,1)=1,零角&TEXT(ROUND(A1-TRUNC(A1)*100,1),Dbnum2)&分,TEXT(ROUND(A1-TRUNC(A1)*100,1)-MOD(ROUND(A1-TRUNC(A1)*100,1),10)/10,Dbnum2)&角&TEXT(MOD(ROUND(A1-TRUNC(A1)*100,1),10),Dbnum2)&分),零角零分 )”另有网友编为:“=IF(INT(A1*10)-INT(A1)*10)=0,TEXT(INT(A1),DBNum2)&圆&IF(INT(A1*100)-INT(A1)*10)*10)=0,整,零&TEXT(INT(A1*100)-INT(A1*10)*10,DBNum2)&分),TEXT(INT(A1),DBNum2)&圆&IF(INT(A1*100)-INT(A1)*10)*10)=0,TEXT(INT(A1*10)-INT(A1)*10),DBNum2)&角整,TEXT(INT(A1*10)-INT(A1)*10),DBNum2)&角&TEXT(INT(A1*100)-INT(A1*10)*10,DBNum2)&分)”也不错,能显示整。如题所示,在EXCEL里面,如何将123456这样的阿拉伯数字转换为中文大写呢,这里使用了一个函数,一个不常为人们使用的函数!NUMBERSTRING函数(没有人民币功能)其用法是: NUMBERSTRING(数值,转换方式)数值为已填写的数字或单元格数据,转换方式提供三种,参数分别为1,2,3;三种方式显示的中文各不相同,下面按图操作即可!知识扩展: 博誉财税 TEXT(1234567890,DBNum1) 一十二亿三千四百五十六万七千八百九十TEXT(1234567890,DBNum2) 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾 维智财税TEXT(1234567890,DBNum10) 一二三四五六七八九TEXT(1234567890,DBNum20) 壹贰叁肆伍陆柒捌玖零第三种:(不太好用)1.首先鼠标右键单击需要用大写金额显示的单元格。2.(*假设此单元格金额为123.50元*) 设置单元格格式 数字 自定义 在类型框中输入dbnum20百0拾0元0角整即可将选中的单元格中的数字显示为大写金额:(壹百贰拾叁元伍角整)。(*假设此单元格金额为1234.51元*)设置单元格格式数字自定义在类型框中输入dbnum20千0百0拾0元0角0分整即可将选中的单元格中的数字显示为大写金额:(壹千贰百叁拾肆元伍角壹分整)。第四种:(不知怎么用)金额数字转中文大写 处理能力:整数部分:9999999999999999(16位长,仟万亿)小数部分:3位,多于3位舍去(不做四舍五入)运行结果:1.23 壹元贰角叁分1234567890123456.123 壹仟贰佰叁拾肆万伍仟陆佰柒拾捌亿玖仟零壹拾贰万叁仟肆佰伍拾陆元壹角贰分叁厘0.0798 柒分玖厘10,001,000.09 壹仟万零壹仟元玖分01.107700 壹元壹角柒厘public class MoneyUtil /* 大写数字 */private static final String NUMBERS = 零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖 ;/* 整数部分的单位 */private static final String IUNIT = 元, 拾, 佰, 仟, 万, 拾, 佰, 仟, 亿, 拾, 佰, 仟, 万, 拾, 佰, 仟 ;/* 小数部分的单位 */private static final String DUNIT = 角, 分, 厘 ;/* * 得到大写金额。 */public static String toChinese(String str) str = str.replaceAll(, );/ 去掉, String integerStr;/ 整数部分数字 String decimalStr;/ 小数部分数字 / 初始化:分离整数部分和小数部分 if (str.indexOf(.) > 0) integerStr = str.substring(0, str.indexOf(.); decimalStr = str.substring(str.indexOf(.) + 1); else if (str.indexOf(.) = 0) integerStr = ; decimalStr = str.substring(1); else integerStr = str; decimalStr = ; / integerStr去掉首0,不必去掉decimalStr的尾0(超出部分舍去) if (!integerStr.equals() integerStr = Long.toString(Long.parseLong(integerStr); if (integerStr.equals(0) integerStr = ; / overflow超出处理能力,直接返回 if (integerStr.length() > IUNIT.length) System.out.println(str + :超出处理能力); return str; int integers = toArray(integerStr);/ 整数部分数字 boolean isMust5 = isMust5(integerStr);/ 设置万单位 int decimals = toArray(decimalStr);/ 小数部分数字 return getChineseInteger(integers, isMust5) + getChineseDecimal(decimals);/* * 整数部分和小数部分转换为数组,从高位至低位 */private static int toArray(String number) int array = new intnumber.length(); for (int i = 0; i 1 & integers != 0) key += NUMBERS0; chineseInteger.append(integers = 0 ? key : (NUMBERSintegers + IUNITlength - i - 1); return chineseInteger.toString();/* * 得到中文金额的小数部分。 */private static String getChineseDecimal(int decimals) StringBuffer chineseDecimal = new StringBuffer(); for (int i = 0; i 4) String subInteger = ; if (length > 8) / 取得从低位数,第5到第8位的字串 subInteger = integerStr.substring(length - 8, length - 4); else subInteger = integerStr.substring(0, length - 4); return Integer.parseInt(subInteger) > 0; else return false; public static void main(String args) String number = 1.23; System.out.println(number + + MoneyUtil.toChinese(number); number = 1234567890123456.123; System.out.println(number + + MoneyUtil.toChinese(number); number = 0.0798; System.out.println(number

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论