搜档网
当前位置:搜档网 › 小写变大写

小写变大写

小写变大写

EXCEL人民币小写转大写

=IF((D3-INT(D3))=0,TEXT(D3,"[DBNUM2]")&"元整

",IF(INT(D3*10)-D3*10=0,TEXT(INT(D3),"[DBNUM2]")&"元

"&TEXT((INT(D3*10)-INT(D3)*10),"[DBNUM2]")&"角整",TEXT(INT(D3),"[DBNUM2]")&"元"&IF(INT(D3*10)-INT(D3)*10=0,"零",TEXT(INT(D3*10)-INT(D3)*10,"[DBNUM2]")&"角

")&TEXT(RIGHT(D3,1),"[DBNUM2]")&"分"))

1:这个嵌套函数所包含的INT函数作用是将任意实数向下取整为最接近的整数,比如

A1=13.24,则公式”INT(A1)“返回值13;TEXT函数的作用是就爱你个数值转换成按指定数字格式表示的文本;嵌套函数中的【dbnum2】作用是数字转中文大写。

2:整个嵌套函数的含义是:如果D3单元格的金额是一个自然数(”IF((D3-INT(D3)))=0“),那么就将其转换成大写金额后再加上”元整“二字(”TEXT(D3,"[DBNUM2]")&"元整"”);否则,如果D3单元格的金额是一个小数(“IF(INT(D3*10)-D3*10=0)”), 就先将D3单元格中的整元的金额转换为大写再加上“元”字(“TEXT(INT(D3),"[DBNUM2]")&"元"”),后面再补充上D3单元格中整角的金额转换为大写并添加上“角整”二字(“&TEXT ((INT(d3*10)-INT(D3*10)."[DBNUM2]")&"角整")”);在其他情况下,转换后的大写金额由D3单元格中整元的部分加上“元”,“零”(D3单元格中整角的金额为0时)或者D3单元格中的整角的金额,D3单元格中的整分的金额三部分组成。

以下是实例

小写金额转换为大写金额(C实现)

前言 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载帐务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。 我的服务需要一个金额转换过程,本来想在网上找,但都是C++、JavaScript、Delphi 的Demo,还没有C的。索性自己写一个。参考了其它的转换算法,对我有些启发。 大多的算法都是直接分析字符串生成大写金额,即存在一个假设:源字符串的格式是正确的。在我的过程中,用状态机的方法分析源字符串,错误时,返回空指针(我可不敢保证传给我的过程的都是##.##)。分析出源字符串中整数部有多少个数字,是否有小数,统计结果放在一个结构体中,整数和小数部分的数字分别放在两个整形数组里。 有了统计数据就可以生成大写金额了。转换过程有个难点:要区分万、亿等“段”,特别是个位这个“段”,这个概念是在《小写转大写金额在C++中的实现》文章中提到的。在下面的程序中用j= ( size - i - 1 ) & 0x3,实际上是j = ( size - i - 1 ) % 4取模,j==0时为段尾,需要特殊处理。所有的处理都是围绕0来进行的,也就是说,0才是难点。 特殊位置的0,按段分,段中第一个非0数字前的0,可能有多个;段中两个非0数字间的0;段尾的0;个位的0;十分位,角位置的0。 另外,转换的一个重点是大写金额的写法,好像大多的算法都注重转换过程而对这个问题没有深究。我在文章后面附上转换规则。 下面是代码 1./** 2.* @brief 将源字符串中的小写金额转换为大写格式 3.* 4.* @param dest 目的字符串 5.* @param src 小写金额字符串 6.* @return 7.* - NULL 源字符串的格式错误,返回NULL 8.* - 非NULL 目的字符串的首地址 9.* @note 转换根据:中国人民银行会计司编写的最新《企业、银行正确办理支付结 算 10.* 指南》的第114页-第115页 11.*/ 12.char* chineseFee( char* dest, char* src ) 13.{

单元格小写金额自动转换成大写金额

Excel中怎么实现小写金额自动转换成中文大写金额 EXCEL中数字小写换大写方法一: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负 ","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元 "&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10) ),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角 ","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBN um2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") EXCEL中数字小写换大写方法二: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零 "&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分 "),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元 "&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[D BNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分")) EXCEL中数字小写换大写方法三: =IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整 ",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆 "&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角 "&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四: =IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整 ",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元 "&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整 ",TEXT(INT(A2),"[DBNUM2]")&"元"&IF(INT(A2*10)-INT(A2)*10=0,"零

字母大小写转换训练

一、按格式、按字母顺序、按要求默写26个字母。 二、请给下面的大小写字母连线。 Q W E R T Y U I O P A S D p q s a d o w i e u r y t ______________________________________________________________________________ F G H J K L Z X C V B N M l k m n f g j z h x c v b 三、根据给出的大写字母写出相应的小写字母。 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

四、根据给出的小写字母写出相应的大写字母。 m n b v c x z l k j h g f d s a p o i u y t r e w q 五、根据前后字母写出所缺字母。 (1)Aa Bb ______ Dd ______ ____ Gg ______ Ii Jj Kk _____ _______ ______ Oo Pp _____ ______ Ss Tt Uu Vv Ww _______ _______ ________ (2)_____ _____ C ____ E F ____ _____ I J _____ L ____ _____ O P ____ ______ _____ T _____ _____ W X _____ ______ (3)a ____ _____ _____ e ____ _____ _____ i j k l ____ _____ ______ _____ _____ r s _____ u v w ____ _____ _____ 六、请根据下面的印刷体写出手写体。 Aa Ee Ff Gg Ii Jj Kk Ll Pp Qq Rr Tt Uu Xx Yy 7、写出下列字母的大写字母 b() h() e() d() n()

Excel--手把手教你转换出中文大写金额

手把手教你转换出中文大写金额 大家在使用Excel的时候,是否会遇到要把一个或一些阿拉伯数字转换成中文大写金额的计算要求呢?如果只是偶尔需要对少数几个数字进行转换,干脆手工操作啦,但如果要进行转换的数字较多或经常要转换时,该怎么办呢?一向无往不胜的Excel能为你做些什么呢?其实,这个不难,最少有三种方法可以实现。 一、设置单元格格式: 用这个办法能直接将阿拉伯数字转换成中文大写金额,而且操作简单。右击需要转换的单元格,在弹出的快捷菜单中选择“单元格格式”,然后在“数字”选项卡中选择“自定义”,在“类型”中写入“[DBNum2]G/通用格式"元"”后按确定即可。瞧,321是不是已经变成了“叁佰贰拾壹元”了? 可惜的是,这个办法只能处理整数,而对带有小数的数字无能为力。当然也有过朋友通过对此法进行一定的扩展而可以处理部分带小数的数字,但效果不是很理想。 二、利用公式进行转换: 所谓“自力更生,丰衣足食”,这第三种方法就是自己编写公式进行转换。 为了照顾一些Excel初学者,我们先来了解一下什么是Excel里的公式与函数。Excel之所以计算功能异常强大,百分之八十的功劳就在于用户可以创建公式进行计算。所谓公式,实际上就是一个计算

表达式(通常是包含函数与单元格引用的计算表达式)。在Excel里,以“=”作为公式的标志,在任何一个非文本值类型的单元格内,只要以“=”开头,就必定是Excel公式,举一最简单的例子:如果A1、B1单元格的值为别为1和2,那么如果在C3单元格内输入“=A1+B1”,则Excel会自动将A1和B1的值相加,得到数值3,再返回给C3单元格。 再来说函数,函数其实就是包装好的公式,它能根据你提供的参数自动进行复杂的计算,从而最大限度地减轻你的工作量。Excel内置了大量具备各种功能的函数,而且Excel还允许用户自己添加函数,这样一来,在Excel里几乎没有计算不出来的东西了。拿Excel中较常用到的SUM函数来说,如果要计算从A1到A100单元格的数值总和,写公式时是用不着写成“=A1+A2+A3+……A100”的,而只是简单地写成“=SUM(A1:A10)”就可以了。 Excel中有上百种函数,今天我们只讲我们将要用到的几个。其实所有这些函数的功能及详细用法在Excel帮助文件里都有介绍,当你遇到具体计算要求时,只要你点击常用工具栏中“粘贴函数”按钮,Excel会将所有的函数一一展示在你眼前,结合相应的帮助文件,你可以迅速挑选到一个适合你的函数。 1、IF函数 这是Excel里最常用到的函数之一,它的功能是执行真假值判断,根据逻辑测试的真假值返回不同的结果。其语法为IF(判断表达式,当条件值为真时返回的值,当条件值为假时返回的值)。通俗地说,

EXCEL,数字变大写公式

近来转了转几个EXCEL相关论坛,发现有部分网友在寻求数字金额转换为人民币大写的方法。出于好奇,我在网上搜索了一番,什么VBA、加载宏,公式函数各式方法争相亮相,应有尽有。但我的习惯是,只要能用公式解决的问题,坚决不使用VBA。所以我就特别地关注使用公式来生成的方法,结果是用公式的方法可谓是更加地灿烂缤纷,使人眼花缭乱。 通过分析我收集到的二十几个公式,发现比较牛,适合我口味的公式有三个,在此我将其列出。 公式一: SUBSTITUTE(SUBSTITUTE(IF(A1<0,"负 ","")&TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"元 "&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10) ),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"角 ","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBN um2]")&"分",IF(ROUND(A1,2)=0,"","整")),"零元零",""),"零元","") 公式二: CONCATENATE(IF(A1<0,"负 ",""),TEXT(IF(TRUNC(A1)=0,"",TRUNC(ABS(A1))),"[DBNum2]"),IF(INT(TRUNC (A1))=0,"","元 "),TEXT(IF(OR(ABS(A1)<0.1,TRUNC(A1)=A1),"",RIGHT(TRUNC(A1*10),1)),"[D BNum2]"),IF(RIGHT(TRUNC(A1*10),1)="0","","角 "),TEXT(IF(RIGHT(TRUNC(A1*100),1)="0","",RIGHT(TRUNC(A1*100),1)),"[DB Num2]"),IF(RIGHT(TRUNC(A1*100),1)="0","","分"))

如何将小写金额变成大写数值

如何将小写数值变成大写数值 =IF(C10<0,"金额为负无效",IF(OR(C10=0,C10=""),"零元整",IF(C10<1,"",TEXT(INT(C10),"[dbnum2]G/通用格式")&"元"))) & IF(INT(C10*10)-INT(C10)*10=0,IF(INT(C10)*(INT(C10*100)-INT(C10*10)*10)=0,"","零"),TEXT(INT(C10*10)-INT(C10)*10,"[dbnum2]")&"角")&IF((INT(C10*100)-INT(C10*10)*10)=0,"整",TEXT((INT(C10*100)-INT(C10*10)*10),"[dbnum2]")&"分") excel表格中如何将小写金额转换为大写金额,如数值为0时则不在表中显示,如数值为负时则显示“负***”=IF(H12=0,"",IF(INT(H12),TEXT(TRUNC(H12),"[dbnum2]")&"元","")&IF(MOD(H12,1)=0,"整",IF(TRUNC(H12,1),IF(H12=TRUNC(H12,1),TEXT(LEFT(RIGHT(H12*100,2)),"[dbnum2]0角整"),TEXT(RIGHT(H12*100,2),"[dbnum2]0"&IF(LEFT(RIGHT(H12*100,2))="0","","角")&"0分")),TEXT(H12*100,"[dbnum2]0分")))) 如何在excel中输入小写金额,自动转换为大写金额 假设Sheet1的A4是你阿拉伯合计金额,以下为Sheet2中的小写金额=Sheet1!A4 假设这个公式是在Sheet2的C6单元格里,以下为大写金额=IF(INT(C6)-C6=0,TEXT(C6,"[DBNum2][$-804]G/通用格式""元整"""),TEXT(INT(C6),"[DBNum2][$-804]G/通用格式""元""")&TEXT(RIGHT(INT(C6*10),1),"[DBNum2][$-804]G/通用格式""角""")&TEXT(RIGHT(INT(C6*100),1),"[DBNum2][$-804]G/通用格式""分""")) 解释:IF(INT(C6)-C6=0,一串,另一串),如果C6是整数(函数INT是取整的意思,取整后减去原数为0,说明是整数),返回一串,否则返回另一串。函数TEXT(数,”格式“)把数变为指定格式,而”[DBNum2][$-804]G/通用格式“就是中文大写格式。函数RIGHT(字符串,位数)返回字符串最后几位数。元角分也是格式的一部分,""在已经有的引号范围内表示一个引号。

手把手教你转换出中文大写金额

手把手教你转换出中文大写金额 Excel Home 2002-3-14 21:43:36 大家在使用Excel的时候,是否会遇到要把一个或一些阿拉伯数字转换成中文大写金额的计算要求呢?如果只是偶尔需要对少数几个数字进行转换,干脆手工操作啦,但如果要进行转换的数字较多或经常要转换时,该怎么办呢?一向无往不胜的Excel能为你做些什么呢?其实,这个不难,最少有三种方法可以实现。 一、设置单元格格式: 用这个办法能直接将阿拉伯数字转换成中文大写金额,而且操作简单。右击需要转换的单元格,在弹出的快捷菜单中选择“单元格格式”,然后在“数字”选项卡中选择“自定义”,在“类型”中写入“[DBNum2]G/通用格式"元"”后按确定即可。瞧,321是不是已经变成了“叁佰贰拾壹元”了? 可惜的是,这个办法只能处理整数,而对带有小数的数字无能为力。当然也有过朋友通过对此法进行一定的扩展而可以处理部分带小数的数字,但效果不是很理想。 二、利用中文大写金额转换函数: 先别急,这个函数你在Excel里是找不到的,微软毕竟不是大陆公司!这个函数被收集在本站开发的“Excel 扩展函数集”里,下载这个函数集,按说明进行安装后,在Excel中运用一个叫EHDXRMB()的函数就可以将任意数字转换成中文大写金额。具体情况在此就不多进行介绍了。 三、利用公式进行转换: 所谓“自力更生,丰衣足食”,这第三种方法就是自己编写公式进行转换。虽然吝啬的小编连白开水也舍不得给我,但我还是一如既往地发扬大公无私之精神将独门密技告之天下,包学包会,不会免费再学……(小编:STOP!再要是废话就OUT!) 为了照顾一些Excel初学者,我们先来了解一下什么是Excel里的公式与函数。Excel之所以计算功能异常强大,百分之八十的功劳就在于用户可以创建公式进行计算。所谓公式,实际上就是一个计算表达式(通常是包含函数与单元格引用的计算表达式)。在Excel里,以“=”作为公式的标志,在任何一个非文本值类型的单元格内,只要以“=”开头,就必定是Excel公式,举一最简单的例子:如果A1、B1单元格的值为别为1和2,那么如果在C3单元格内输入“=A1+B1”,则Excel会自动将A1和B1的值相加,得到数值3,再返回给C3单元格。 再来说函数,函数其实就是包装好的公式,它能根据你提供的参数自动进行复杂的计算,从而最大限度地减轻你的工作量。Excel内置了大量具备各种功能的函数,而且Excel还允许用户自己添加函数(就像第二种方法中笔者写的那个),这样一来,在Excel里几乎没有计算不出来的东西了。拿Excel中较常用到的SUM函数来说,如果要计算从A1到A100单元格的数值总和,写公式时是用不着写成 “=A1+A2+A3+……A100”的,而只是简单地写成“=SUM(A1:A10)”就可以了。 Excel中有上百种函数,今天我们只讲我们将要用到的几个。其实所有这些函数的功能及详细用法在Excel 帮助文件里都有介绍,当你遇到具体计算要求时,只要你点击常用工具栏中“粘贴函数”按钮,Excel会将所有的函数一一展示在你眼前,结合相应的帮助文件,你可以迅速挑选到一个适合你的函数。 1、IF函数 这是Excel里最常用到的函数之一,它的功能是执行真假值判断,根据逻辑测试的真假值返回不同的结果。其语法为IF(判断表达式,当条件值为真时返回的值,当条件值为假时返回的值)。通俗地说,就是“如果……就……否则”的语法结构。比如A1单元格内为学生成绩,我们现在要在B1单元格计算此成绩是否及格,则公式为“=IF(A1<60,"不及格","及格")”,这样一来,如果A1的数值小于60,B1就会显示“不及格”,否则就显示“及格”,是不是挺简单?IF函数是允许嵌套的,也就是说IF函数里面还可以有IF函数,这样就可以执行比较复杂的判断了。 2、TRUNC函数 这个函数可以截去指定位数的小数,如果将小数部分全部截去,就可以得到一个整数。要注意,截去是指

小写变大写

EXCEL人民币小写转大写 =IF((D3-INT(D3))=0,TEXT(D3,"[DBNUM2]")&"元整 ",IF(INT(D3*10)-D3*10=0,TEXT(INT(D3),"[DBNUM2]")&"元 "&TEXT((INT(D3*10)-INT(D3)*10),"[DBNUM2]")&"角整",TEXT(INT(D3),"[DBNUM2]")&"元"&IF(INT(D3*10)-INT(D3)*10=0,"零",TEXT(INT(D3*10)-INT(D3)*10,"[DBNUM2]")&"角 ")&TEXT(RIGHT(D3,1),"[DBNUM2]")&"分")) 1:这个嵌套函数所包含的INT函数作用是将任意实数向下取整为最接近的整数,比如 A1=13.24,则公式”INT(A1)“返回值13;TEXT函数的作用是就爱你个数值转换成按指定数字格式表示的文本;嵌套函数中的【dbnum2】作用是数字转中文大写。 2:整个嵌套函数的含义是:如果D3单元格的金额是一个自然数(”IF((D3-INT(D3)))=0“),那么就将其转换成大写金额后再加上”元整“二字(”TEXT(D3,"[DBNUM2]")&"元整"”);否则,如果D3单元格的金额是一个小数(“IF(INT(D3*10)-D3*10=0)”), 就先将D3单元格中的整元的金额转换为大写再加上“元”字(“TEXT(INT(D3),"[DBNUM2]")&"元"”),后面再补充上D3单元格中整角的金额转换为大写并添加上“角整”二字(“&TEXT ((INT(d3*10)-INT(D3*10)."[DBNUM2]")&"角整")”);在其他情况下,转换后的大写金额由D3单元格中整元的部分加上“元”,“零”(D3单元格中整角的金额为0时)或者D3单元格中的整角的金额,D3单元格中的整分的金额三部分组成。 以下是实例

金额大写转换函数

金额大写转换函数 #region 金额大写转化 private static String[] Ls_ShZ = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" }; private static String[] Ls_DW_Zh = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万" }; private static String[] Num_DW = { "", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万" }; private static String[] Ls_DW_X = { "角", "分" }; /// <summary> /// 金额小写转中文大写。 /// 整数支持到万亿;小数部分支持到分(超过两位将进行Banker舍入法处

WORD数字小写金额变大写

Sub 小写金额变大写() Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As String Dim Jiao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As String Const ZWDX As String = "壹贰叁肆伍陆柒捌玖零" '定义一个中文大写汉字常量 On Error Resume Next '错误忽略 With Selection Numeric = VBA.Round(VBA.V al(.Text), 2) '四舍五入保留小数点后两位 '判断是否在表格中!!此处为向左MoveLeft移动1(count)个单元格(wdCell) If .Information(wdWithInTable) Then _ .MoveLeft unit:=wdCell, Count:=1 Else .MoveRight unit:=wdCharacter '对数据进行判断,是否在指定的范围内 If VBA.Abs(Numeric) > 2147483647 Then MsgBox "数值超过范围!", _ vbOKOnly + vbExclamation, "Warning": Exit Sub IntPart = Int(VBA.Abs(Numeric)) '定义一个正整数 Odd = VBA.IIf(IntPart = 0, "", "元") '定义一个STRING变量 '插入中文大写前的标签 Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), "人民币大写: ", "金额大写: 负") '对小数点后面二位数进行择定 DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100 Select Case DecimalPart Case Is = 0 '如果是0,即是选定的数据为整数 Oddment = VBA.IIf(Odd = "", "", Odd & "整") Case Is < 10 '<10,即是零头是分 Oddment = VBA.IIf(Odd <> "", "元零" & VBA.Mid(ZWDX, DecimalPart, 1) & "分", _ VBA.Mid(ZWDX, DecimalPart, 1) & "分") Case 10, 20, 30, 40, 50, 60, 70, 80, 90 '如果是角整 Oddment = "元" & VBA.Mid(ZWDX, DecimalPart / 10, 1) & "角整" Case Else '既有角,又有分的情况 Jiao = VBA.Left(CStr(DecimalPart), 1) '取得角面值 Fen = VBA.Right(CStr(DecimalPart), 1) '取得分面值 Oddment = Odd & VBA.Mid(ZWDX, Jiao, 1) & "角" '转换为角的中文大写 Oddment = Oddment & VBA.Mid(ZWDX, Fen, 1) & "分" '转换为分的中文大写 End Select '指定区域插入中文大写格式的域 Set MyField = .Fields.Add(Range:=.Range, Text:="= " & IntPart & " \*CHINESENUM2") MyField.Select '选定域(最后是用指定文本覆盖选定区域) '如果仅有角分情况下,Mychinese为"" MyChinese = VBA.IIf(MyField.RESULT <> "零", MyField.RESULT, "") .Text = Lable & MyChinese & Oddment End With End Sub

字母大小写转换

8086汇编字母大小写转换 一、要求 从键盘输入字母,将大写字母转化为小写字母,将小写字母转化为大写字母,然后在字幕上显示转换后的结果。(键盘输入在所有大小写字母的ASCLL范围内则转换,否则报错) 二、汇编代码 ; multi-segment executable file template. data segment ; add your data here! letterdb 0 pkeydb 0dh,0ah,'please input your letter...',0dh,0ah,'$' pkey1db 0dh,0ah,'are you contine...',0dh,0ah,'$' pkey2db 0dh,0ah,'your letter is wrong!',0dh,0ah,'$' pkey3db 0dh,0ah,'the transformational letter is',0dh,0ah,'$' ends stack segment dw 128 dup(0) ends code segment assumecs:code,ds:data,ss:stack start: ; set segment registers: mov ax, data mov ds, ax moves, ax ; add your code here cnt: lea dx, pkey mov ah, 9 int 21h ; output string at ds:dx

; wait for any key.... mov ah, 1 int 21h movletter,al cmp al,'@' jcless_than jncgreater_than greater_than: cmp al,'{' jc less_than1 jnc greater_than1 less_than: lea dx, pkey2 mov ah, 9 int 21h jmp quit greater_than1: lea dx, pkey2 mov ah, 9 int 21h jmp quit less_than1: cmpal,'a' jc less_than2 jnc greater_than2 greater_than2: lea dx, pkey3 mov ah, 9 int 21h moval,letter sub al,32 movletter,al movdl,letter mov ah,2 int 21h lea dx, pkey1 mov ah, 9

大小写转换公式

Excel自动转换数字大小写具体的操作步骤如下: 1. 启动excel。按“alt+f11”快捷键打开“visual basic编辑器”。 2. 在“visual basic编辑器”中,单击“插入”菜单栏中的“模块”命令,插入一个模块。双击左侧“工程”窗口中的“模块1”选项,在窗口右边展开“模块1(代码)”编辑窗口,然后输入如下代码: function dx(q) dim cur as long,yuan as long dim jiao as integer,fen as integer dim cnyuan as string, cnjiao as string, cnfen as string if q = "" then dx = 0 exit function end if cur = round(q * 100) yuan = int(cur / 100) jiao = int(cur / 10) - yuan * 10 fen = cur - yuan * 100 - jiao * 10

cnyuan = application.worksheetfunction.text(yuan, "[dbnum2]") cnjiao = application.worksheetfunction.text(jiao, "[dbnum2]") cnfen = application.worksheetfunction.text(fen, "[dbnum2]") dx = cnyuan & "元" & "整" d1 = cnyuan & "元" if fen <> 0 and jiao <> 0 then dx = d1 & cnjiao & "角" & cnfen & "分" if yuan = 0 then dx = cnjiao & "角" & cnfen & "分" end if end if if fen = 0 and jiao <> 0 then dx = d1 & cnjiao & "角" & "整" if yuan = 0 then dx = cnjiao & "角" & "整"

中文大小写转换

在Excel中实现中文大写数字 https://www.sodocs.net/doc/0310847857.html, 2001/12/19 14:09 赛迪网 文/朱运喜 在与朋友开发表格模板时,为做一个能在Excel中构造数字的汉字写法(中文大写)的一段VB函数花了不少时间。事后仔细想来,其实实现数字读法的方法实际上至少有三种,即VB编程法、自动更正法及工作表函数的替换法。用VB编程实际上是最复杂的一种方法(但也是一劳永逸的方法),在很多时候完全可以用较简单的方法实现。以下分别介绍这几种方法。 自动更正法 使用自动更正功能,可以简化用户对大写汉字的输入操作,例如可以将“1//”定义更正为“壹”,那么当要输入“壹”时,就可通过键入“1//”来实现。另外,这种定义以后不仅在Excel中有效,在Word中也同样有效,因为“自动更正”程序是Office组件所公用的。 用“自动更正”是最简单易行的,用户可自由、方便地输入要写的大写读法。然而它的局限性也很明显,即它虽然给使用者提供了输入大写数字的方便手段,但终究还是需要人工输入,不能自动、实时地依当前的实际数字结果进行更新。 工作表函数替换法 要做到数值的自动更新,一般都会想到用VB构造函数法,但其实我们可采用一个简单的方法,即工作表函数的替换法。顾名思义,所谓“工作表函数的替换法”,就是将原来的结果换去一部分。那么换什么,又怎样换? 我们知道,在Excel中,提供了多种数字的显示格式。其中文版实际上也包括数字的大写读法显示格式,但遗憾的是这个功能对一般用户来说基本上不能用,因为

Microsoft在实现这个数字显示格式时犯了一个小小的错误,例如“33.56”这个数,它显示出来的是“叁拾叁.伍陆”。很显然,没有将小数点作有效处理。 虽然这个显示格式是错的,但其劳动成果还是能为我们所用——只要能设法将其小数点作有效处理。做到这一点也并不难,可以先将数字以其内置的中文大写显示格式转变为文本格式,即使用TEXE( )函数将其结果转化为字符串,然后将小数点“.”用汉字“点”换掉(使用SUBSTITUTE( )函数,见图1)。 图1 例如,若要将B1单元格内容重写为大写,则可以在单元格中输入如下公式: =SUBSTITUTE(TEXT(B1,″G/通用格式″),″.″,″点″) 使用这样一个小小的公式应当说并不复杂,不过,这样做仍不能满足某些情况下的要求,因为使用大写表示数额一般只应用于财会方面,其他很少这么用。在上例中,对数字“33.56”,往往要求结果写为“叁拾叁元伍角陆分”。那么,如何将“33.00”写为“叁拾叁元整”呢 实现这一功能的逻辑也不太复杂。我们可以看到,Excel显示格式的小数点前的数字读法是没有错的,可将其取出来作为一个字符串;小数点后面的数字则麻烦些,必取出来,再以低位是否都为“0”来判断是要写“整”还是“零”。还要将“元”、“角”、

Ecel金额大写公式详解

Excel金额大写公式详解 人民币大写的公式很多,随便百度就能找到一堆,但网上的公式多无原理解析,知其然而不知其所以然,用的时候只能将公式复制过去,总有几分不完美 那么一起来追根究底吧,长文预警,今天的内容1400字 ================ 先搜个金额大写公式再就公式进行解析网上相关公式太多,选个稍微短点的,公式如下▼ =TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;') & TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整') 表示完全看不懂 1、如何快速看懂长公式? ▼ Excel公式求值 Excel自带公式求值,可查看公式每步计算结果,通过查看每步计算结果分析思路在A1单元格中输入小写金额,B1中输入以上公式 选中B1单元格,【公式】-【公式审核】-【公式求值】 运行求值,查看每一步运算结果,如下图:通过查看计算步骤得知,金额小写转为大写主要通过格式转换函数TEXT函数,将金额分两部分转换为大写金额,整数部分大写小数点部分大写

提到格式转换,Excel单元格格式设置中就有金额大写转换 【数字】-【特殊】-【中文大写数字】如A1单元格金额201711.06单元格格式转换后显示为贰拾万壹仟柒佰壹拾壹.零陆 距离我们想要的金额大写很接近了,如果能将数字大写格式转换的代码找到就可用于金额大写中 2、如何查看格式转换代码? ▼点击对应格式后,点击自定义,显示对应代码点击【特殊】-【中文大写数字】后点击自定义代码为【[DBNum2][$-804]G/通用格式】 其中[$-804]表示国家或地区(语言)编号,一般可以不填,可直接忽略 提取有用部分:[DBNum2]G/通用格式其中[DBNum2]表示将数字大写G/通用格式表示以常规的数字显示——数字不发生任何变化金额大写中,整数部分以元结尾,小数部分以角和分结尾▼则整数部分 - [DBNum2]G/通用格式元小数部分 - [DBNum2]0角0分 如果金额为负怎么办? 金额为负,则大写时金额前面加负,如-2对应负贰元,整数部分金额需分两种情况▼①为正数[>0][dbnum2]G/通用格式元②为负数[<0]负[dbnum2]G/通用格式元 OK,数字大小写转换已解决,整数部分和小数部分用不同的格式转换代码,那么接下来需分别提取整数和小数部分

人民币小写金额转换成大写格式

人民币小写金额转换成大写格式 要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel 能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。 一、在三个连续的同行单元格中转换 1. B2中输入公式“=IF(B1〈0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。 2. C2中输入“=IF(B1〈0,"",INT(B1 10)-INT(B1) 10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。 3. D2中输入“=IF(B1〈0,"",INT(B1 100)-INT(B1 10) 10)”,同样D2改为:[DBNum2]G/通用格式“分”, D2显示:“玖分”。 这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。

二、用Excel提供的函数转换 个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。 小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。 小数点后面第二位为0,则显示“整”;不为0,显示“X分”。 根据以上思路在B2中输入公式: “IF(B1〈0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整")); IF(B1〈1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&&"元")&&IF(INT(B1 10)-INT(B1) 10=0); IF(INT(B1) (INT(B1 100)-INT(B1 10) 10)=0,"","零"),TEXT(INT(B1 10)-INT(B1) 10,"[dbnum2]")&&"角")&&IF((INT(B1 100)-INT(B1 10) 10)=0,"整",TEXT((INT(B1 100)-INT(B1*10)*10),"[dbnum2]")&&"分")))”。 确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。

EXCEL函数数字小写换大写

EXCEL文本函数-数字小写换大写/英文大小写互换 2007年10月17日星期三 13:04 在大小写中英文互换公式中我们先假设每个表都有表头,且数字在第二行,在A2单元格内 注意:公式可以随意拖动至任意指定单元格,公式内对象不变;可复制(待鼠标变成黑色十字再拖);也可利用查找-替换-全部替换单元格如A2---全部换成F15 EXCEL中数字小写换大写方法一: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元 "&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(I SERR(FIND(".0",TEXT(A2,"0.00"))),"角 ","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分 ",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") EXCEL中数字小写换大写方法二: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元 "&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零 "&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元 "&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角 "&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分")) EXCEL中数字小写换大写方法三: =IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆"&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角 "&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四: =IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整 ",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元 "&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整",TEXT(INT(A2),"[DBNUM2]")&"元 "&IF(INT(A2*10)-INT(A2)*10=0,"零",TEXT(INT(A2*10)-INT(A2)*10,"[DBNUM2]")&"角 ")&TEXT(RIGHT(A2,1),"[DBNUM2]")&"分")) 看看结果是不是出现了你想要的?应该有你需要的大写金额了 公式的由来:

相关主题