当前位置:文档之家› 将表示金额的阿拉伯数字转换成中文大写形式

将表示金额的阿拉伯数字转换成中文大写形式

将表示金额的阿拉伯数字转换成中文大写形式
将表示金额的阿拉伯数字转换成中文大写形式

将表示金额的阿拉伯数字

转换成中文大写形式

对于用EXCEL来处理日常统计报表的财务人员来说,一个最令人头痛的问题,就是如何将表示金额的阿拉伯数字转换成中文大写形式。

这里给出将阿拉伯金额数字转换成中文大写形式的两种方法:内置函数法、自定义函数法,供大家参考。

本文所涉及到的Excel函数如下,点击可查阅具体的函数用法。

1、ABS(number)

2、CONCATENATE(Text1,Text……)

3、INT(number)

4、TEXT(value,format_text)

5、自定义函数

一、内置函数法

如图1所示,我们来将C12单元格中的数值转换为中文大写形式,并将结果保存在D12单元格中。

1、分别选中E13、F13、G13单元格,

依次输入公式:

=TEXT(INT(ABS(C12)),"[DBNum2]")

=TEXT(INT(ABS(C12*10))-INT(ABS(C12))*10,"[DBNum2]")

=TEXT(INT(ABS(C12*100))-INT(ABS(C12*10))*10,"[DBNum2]")

公式含义解析:分别确定统计结果的元、角、分的数值,并将其转换为中文大写格式。

2、选中E10单元格,输入公式:=E13&"元"&F13&"角"&G13&"分",或者:=CONCATENATE(E13,"元",F13,"角",G13,"分")。

公式含义解析:将E13至G13单元格中的文本组合为一个整体,并在相应位置加上单位“元、角、分”文字。

3、再次选中E12单元格,执行“格式→条件格式”命令,打开“条件格式”对话框(如图2)。按“条件1”下面的下拉按钮,选中“公式”选项,在后面的方框中输入“=$C$12<0”(如图2),再按“格式”按钮,在随后弹出的“单元格格式”对话框中(如图3),将“字体”颜色设置为红色,确定退出。

4、选中C12单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图4),切换到“数字”标签下,选中“分类”下面的“货币”选项后,再选中右边“负数”下面的红色选项,确定退出。

注意:经过以上两步操作后,当C12中的数值小于零时,大、小写结果均以红色显示,与财务要求相一致。

5、选中13行,右击鼠标,在随后弹出的快捷菜单中,选“隐藏”选项,将13行隐藏起来,不影响正常打印效果。

至此,转换工作结束,效果参见图1所示。

小写金额转换为大写金额(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.{

大写数字

壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元(圆)、角、分、零、整。 一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。 四、阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、 金额数字构成和防止涂改的要求进行书写。举例如下: 1·阿拉伯数字中间有"0"时,中文大写要写"零"字,如¥1409.50,应写成人民币陆壹仟肆佰零玖元伍角。 2·阿拉伯数字中间连续有几个"0"时,中文大写金额中间可以只写一个"零"字,如¥6007.14,应写成人民币陆仟零柒元壹角肆分。 3·阿拉伯金额数字万位和元位是"0",或者数字中间连续有几个"0",万位、元位也是"0",但千位、角位不是"0"时,中文大写金额中可以只写一个零字,也可以不写"零"字。如¥1680.32,应写成人民币壹仟陆佰捌拾元零叁角贰分,或 者写成人民币壹仟陆佰捌拾元叁角贰分,又如¥107000.53,应写成人民币壹 拾万柒仟元零伍角叁分,或者写成人民币壹拾万零柒仟元伍角叁分。 4·阿拉伯金额数字角位是"0",而分位不是"0"时,中文大写金额"元"后面应写"零"字。如¥16409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;又如¥325.04,应写成人民币叁佰贰拾伍元零肆分。 五、阿拉伯小写金额数字前面,均应填写人民币符号"¥"。阿拉伯小写金额数字要认真填写,不得连写分辨不清。 六、票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加"零";日为拾壹至拾玖的,应在其前加"壹"。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。 七、票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。

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

大小写转换公式

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--手把手教你转换出中文大写金额

手把手教你转换出中文大写金额 大家在使用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(判断表达式,当条件值为真时返回的值,当条件值为假时返回的值)。通俗地说,

会计阿拉伯数字写法字帖

会计阿拉伯数字写法字帖 做会计和出纳都必须了解阿拉伯数字及数字大写的规范化写法和大写简化写法的'字贴'",对于如何正确、规范和流利书写阿拉伯数字的问题,是会计人员应掌握的基本功。 对于如何正确、规范和流利书写阿拉伯数字的问题,是我国会计人员应掌握的基本功。重视会计工作中数码字的训练,有助于会计人员素质的提高,结合现实会计人员数码字书写的实际情况看,不仅存在大量不规范书写,而且存在“0”、“6”不分,“7”、“9”难辨的情况,况且还有把“1”改为“4”或改为“7”等错误现象,还有些人把汉字的书写艺术引入小写数字领域,主张在会计记录中将数字“1234567890”写成美术字。所有这些,都不是财会工作中合乎规范的书写方法,也不合乎手工书写的正常习惯。 应该说,财务会计中,尤其是会计记账过程中书写的阿拉伯数字,同数学中或汉文字学中的书写方法并不一致,也不尽相同。 从字体上讲,既不能把这些数字写成刻版划一的印刷体,也不能把它们写成难以辨认的草字体,更不能为追求书写形式把它们写成美术体。从数字本身所占的位置看既不能把数字写满格,占满行,又不能把字写得太小,密密麻麻,让人不易辨清楚,更不能超越账页上既定的数格。 从字型上看,既不能让数字垂直上下,也不能歪斜过度,更不能左倾右斜,毫无整洁感觉。况且,书写后要让人看着合乎规定要求,既流利又美观,还方便纠错更改。 总之,财会工作中,尤其是会计记账过程中,阿拉伯数码字的书写同普通的书写汉字有所不同,且已经约定俗成,形成会计数字的书写格式。其具体要求是: 1、各数字自成体型,大小匀称,笔顺清晰,合乎手写体习惯,流畅、自然、不刻版。 2、书写是字迹工整,排列整齐有序且有一定的倾斜度(数字与底线成60度的倾斜)并以向左下方倾斜为好。 3、书写数字时,应使每位数字(7、9除外)紧靠底线且不要顶满格(行)。 一般来讲,每位数字约占预留格子(或空行)的1/2空格位置,每位数字之间一般不要连结,但不可预留间隔(以不增加数字为好);每位数字上方预留1/2空格位置,可以订正错误记录时使用。 4、对一组数字的正确书写是,应按照自左向右的顺序进行,不可逆方向书写;在没有印刷数字格的会计书写中,同一行相邻数字之间应空出半个数字的位置。

EXCEL文本函数-数字小写换大写英文大小写互换

EXCEL文本函数-数字小写换大写/英文大小写互换 在大小写中英文互换公式中我们先假设每个表都有表头,且数字在第二行,在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(ISERR (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)-IN T((A2)*10)*10)=0,"整","零"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"),TE XT(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),"[DBNUM 2]")&"元"&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]")&"分")) 看看结果是不是出现了你想要的?应该有你需要的大写金额了 公式的由来: 仟分位公式如下: =TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]")

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

手把手教你转换出中文大写金额 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函数 这个函数可以截去指定位数的小数,如果将小数部分全部截去,就可以得到一个整数。要注意,截去是指

阿拉伯数字大小写详解

1、数码与大、小写数字的对照表: 数码小写数字大写数字 0 ○零 1 一壹 2 二贰 3 三叁/参 4 四肆 5 五伍 6 六陆 7 七柒 8 八捌 9 九玖 2、进位数码与大、小写数字的对照表数码小写数字大写数字 10 十拾 20 二十廿 30 三十卅 100 百佰 1000 千仟 10000 万万

……), 还是所谓汉字小写数码(一、二、三……), 由于笔画简单,容易被涂改伪篡。所以一般文书和商业财务票据上的数字都要采用汉字数码大写: 壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟(“万、亿、兆”本身笔画已经比较复杂,使用机会也少,没有必要再用别的字代替)。如“3564 元”写作“叁仟伍佰陆拾肆元”。这些汉字的产生是很早的,用作大写数字,属于假借。数字的这种繁化写法,早在唐代就已经全面地使用了,后来逐步地规范化成一套“大写数码”。到了明朝初年,朱元璋因为当时的一件重大贪污案“郭桓案”而发布法令,其中明确要求记账的数字必须由“一、二、三、四、五、六、七、八、九、十、百、千”改为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、陌、阡”等复杂的汉字,用以增加涂改帐册的难度。后来“陌”和“阡”被改写成“佰、仟”,并一直使用到现在。《正确填写票据和结算凭证的基本规定》 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不

金额大写转换函数

金额大写转换函数 #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舍入法处

Excel货币大写转换

Excel中如何将货币数值由数字金额自动转为中文大写金额 使用Excel时有时会用数据的转换,尤其是做财务工作,如工资表等时就需要用中文大写金额。如果手动输入,就会麻烦一些,多的时候也会增加了工作量。我们可以使用Excel 中的函数来实现将货币数值由数字金额自动转换成中文大写金额。 本文以一份表格为例讲解如何将数字金额转换为中文大写金额。 先在Excel表格中算出合计金额,如下图。 利用公式把小写的货币转换为中文大写,并写在合并的单元格中。公式如下: =IF((I41-INT(I41))=0,TEXT(I41,"[DBNUM2]")&"元整 ",IF(INT(I41*10)-I41*10=0,TEXT(INT(I41),"[DBNUM2]")&"元 "&TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角整",TEXT(INT(I41),"[DBNUM2]")&"元 "&IF(INT(I41*10)-INT(I41)*10,"零",TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角 ")&TEXT(RIGHT(I41,1),"[DBNUM2]")&"分"))。 把公式输入合计右边的合并单元格中,如下图。

输入后的显示结果如下图。

公式中一共用到了4函数,文本连接符“&”及相应的汉字。下面对这4种函数做个讲解:IF函数:是一个条件判断函数,该函数的基本格式是:IF(a,b,c),其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。以上公式是一个多层嵌套判断函数,根据货币金额的不同情况生成不同格式的中文大写。 INT函数:是一个取整函数,取参数数字的整数部分。如:INT(I41)是取I41这个单元格数字的整数部分,(I41-INT(I41))=0表示一个整数,INT(I41*10)-INT(I41)*10表示I41单元小数点后第一位数,INT(I41*10)-INT(I41)*10=0表示I41单元格中有一位小数。 TEXT函数:可以将阿拉伯格式数字转换为中文大写格式,如公式中 TEXT(I41,"[DBNUM2] ")就是把I41单元格中的数字转换成中文大写格式,其中"[DBNUM2] "是把数字转换为中文大写形式,照搬即可。 RIGHT函数:可以提取字符串右边的若干个字符。如公式中的“RIGHT(I41,1)” 表示从I41单元格数字右起提取一个字符。 公式使用了多层嵌套,看起来比较复杂一些。 可以将整个条件函数公式表述为: 如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:

大写数字规范

1 2 3 4 5 6 7 8 9 0 壹贰叁肆伍陆柒捌玖零拾百仟万 元角分 正确填写票据和结算凭证的基本规定 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏+、不潦草,防止涂改。中文大写金额数字应用正楷或 行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、 佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、 七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。 中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。 阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。举例如下: ·阿拉伯数字中间有"0"时,中文大写要写"零"字,如¥1409.50,应写成人民币陆壹仟肆佰零玖元伍角。 ·阿拉伯数字中间连续有几个"0"时,中文大写金额中间可以只写一个"零"字,如¥6007.14,应写成人民币陆仟零柒元壹角肆分。

Word中数字金额小写

Word中数字金额小写“变”大写有两招 在日常的办公应用中,尤其是作为一名财务人员,经常需要输入大写金额的形式的数字,“肆仟叁佰五拾元零伍分”,如果用手工输入的话,显得比较麻烦,其实只要通过输入小写数字并通过如下两招就能达到快速输入的目的。 第一招:釜底抽薪——自动更正法 如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具→自动更正选项”打开“自动更正”对话框(图1),在“替换”下的框内输入“4350.05”并单击“添加”按钮确定后退出,以后直接输入“4350.05”后回车即可快速得到“肆仟叁佰伍拾元零伍分”。 第二招:一劳永逸——编制自动宏 如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其实只需要编辑一个宏就能做到“一劳永逸”了。启动Word后按下A lt+F11组合键,在打开的工程窗口左侧双击“ThisDocument”进入代码编写窗口,在代码编辑窗口中输入如下代码: Option Explicit 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.Val(.Text), 2) ''四舍五入保留小数点后两位 ''判断是否在表格中 If .Information(wdWithInTable) Then _ .MoveRight unit:=wdCell 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 selectCase DecimalPart Case Is = 0 ''如果是0,即是选定的数据为整数

将数字转为中文金额的大写方式Java版

将数字转为中文金额的大写方式(Java版) 将数字转为中文金额的大写方式(Java版) /** * 程序目的: * 从命令行接收一个数,并将其转化为中文金额的大写方式 * 例如123.45 --> 壹佰贰拾叁元肆角伍分 * @author LovinChan * * 看到网上有很多这样的例子程序,不过觉得很不满意。有些程序我从命名上就觉得* 实在是不符合规范,程序里面的算法没有让人明白得很清楚的注释,读上去觉得有* 点难度,可读性不强。而且很多程序还存在不少bug,随便一测就测出来了。 * 所以本人还是决定重新写一下这个程序,并且尽量做到消除不必要的bug。这个程* 序我没有用什么很精妙的算法,不过用了一些Java类库中的类,像是正则表达式之类* 的东西。由于本人对算法不怎么在行,在做转换操作的时候用的是很笨的方法。望各位 * 大虾海涵,呵呵。 * * 程序的注释我尽量写得详细一点,如果觉得这个程序哪里有问题或者是哪里有改进的 * 地方欢迎随时跟我交流。 * 我的msn:egg.chenlw@https://www.doczj.com/doc/ea16159354.html, * QQ:543669516(注上为什么加我就可以了) * 我的blog:https://www.doczj.com/doc/ea16159354.html,/egg_chen * 欢迎交流 */ public class Trans2RMB { /** * 测试程序的可行性 * @param args */ public static void main(String[] args) { System.out.println("\n--------将数字转换成中文金额的大写形式------------\n"); Trans2RMB t2r = new Trans2RMB(); String s = t2r.cleanZero(t2r.splitNum(t2r.roundString(t2r.getNum()))); // 如果转换过后是一个空串,则不输出屏幕 if(!"".equals(s)) { System.out.println("转换成中文后为:" + s);; } System.out.println("\n---------------------------------------------");

阿拉伯数字转换成英文大写

启动Microsoft Excel。 按Alt+F11 启动Visual Basic 编辑器。 在“插入”菜单上,单击“模块”。 在模块表中键入下面的代码。 Option Explicit 'Main Function Function SpellNumber(ByValMyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDimPlace(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " ' String representation of amount. MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none. DecimalPlace = InStr(MyNumber, ".") ' Convert cents and set MyNumber to dollar amount. If DecimalPlace> 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber<> "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp &Place(Count) & Dollars If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = Dollars &" Dollars" End Select Select Case Cents

阿拉伯数字大小写书写实训

阿拉伯数字大小写书写实训(作业3) 一、阿拉伯数字小写书写实训 实训1 在表1-1账格中用规范化的阿拉伯数字书写。

实训2 对照表1-2中的数字练习没有数位线的小写金额的书写。 三级标准,非财会专业达到四级标准。试试看你达到了几级? 一级2.5分钟以内完成;二级3分钟以内完成; 三级3.5分钟以内完成;四级4分钟以内完成。 实训4 将下列中文大写数字写成阿拉伯数字。 (1) 人民币贰拾柒元伍角肆分应写成 (2) 人民币伍仟贰佰万零陆仟玖佰柒拾捌元整应写成 (3) 人民币叁仟万零贰拾元整应写成 (4) 人民币壹拾玖万零贰拾叁元整应写成 (5) 人民币玖角捌分应写成 (6) 人民币柒万肆仟伍佰零贰元捌角陆分应写成 (7) 人民币玖仟叁佰元零伍角整应写成 (8) 人民币贰拾肆万零捌佰零壹元零玖分应写成 (9) 人民币壹拾万元整应写成 (10) 人民币陆佰万元零柒分应写成 二、中文大写数字书写实训 实训1 对照表1-3中的文字分别用楷体和行楷练习中文大写数字的书写。

实训2 将中文大写数字从零到拾书写10遍。试试看5分钟以内你写完了吗?是否正确、清晰、整齐、流畅、标准、规范和美观? 实训3 将阿拉伯数字写成中文大写数字 (1) ¥28,703.49 应写成 (2) ¥160,000.00 应写成 (3) ¥580.20 应写成 (4) ¥3,000,070.10 应写成 (5) ¥60,104.09 应写成

(6) ¥109,080.80 应写成 (7) ¥206,054.03 应写成 (8) ¥80,001.20 应写成 (9) ¥76,003,000.00 应写成 (10) ¥96,274.58 应写成

数字大写转换(简单实用

如何将小写数字自动转换为大写数字 发表日期:2008年7月24日共浏览3393次字体颜色:选择颜色 【字体:放大正 常缩小】 我们在日常工作中经常遇到既要输入小写,又要输入大写,比如开填支票。在开填支票时往往出现小写金额与大写金额不吻合,特别时数字长的最容易出错。现在这个问题得到了解决,只要把小写数字一输入,大写数字就自动产生,又快又准确。如何使用,请看下文。 一、公式及公式介绍 =IF(A1<0,"金额为负无效", (IF(OR(A1=0,A1=""),"(人民币)零元", IF(A1<1,"(人民币)", TEXT(INT(A1),"[dbnum2](人民币)G/通用格式")&"元"))))& IF( (INT(A1*10)-INT(A1)*10)=0, IF(INT(A1*100)-INT(A1*10)*10=0,"","零"), (TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角")) &IF( (INT(A1*100)-INT(A1*10)*10)=0, "整", TEXT((INT(A1*100)-INT(A1*10)*10),"[dbnum2]")&"分") 作色部分是公式,公式中“A1”是指欲转换的小写数字所在位置(单元格),它根据小写数字所在位置进行修改;“人民币”是指货币种类,可以修改成美元、日元或大写等字样;其他是不许修

改的。 二、操作 1、复制程序公式:将着色的程序公式部分拷贝到电子表格中欲生成为大写的单元格内。(选中程序中的着色部分,点击鼠标右键,点击“复制”功能,然后双击电子表格中欲生成为大写金额的单元格,点击鼠标右键,点击“粘贴”功能) 2、修改程序公式:①将公式里的单元格“A1”全部替还成小写数字所在的单元格(如小写数字所在的单元格是“B3”,即把程序公式中的“A1”替换成“B3”),共15处。②是美元或其他币种,把“人民币”全替换成“美元或其他币种”。③也可以把程序公式的“人民币”和“()”修改为“大写:”。 (文:苟在林) =IF(C9<0,"金额为负无效", (IF(OR(C9=0,C9=""),"(人民币)零元", IF(C9<1,"(人民币)", TEXT(INT(C9),"[dbnum2](人民币)G/通用格式")&"元"))))& IF( (INT(C9*10)-INT(C9)*10)=0, IF(INT(C9*100)-INT(C9*10)*10=0,"","零"), (TEXT(INT(C9*10)-INT(C9)*10,"[dbnum2]")&"角")) &IF( (INT(C9*100)-INT(C9*10)*10)=0, "整", TEXT((INT(C9*100)-INT(C9*10)*10),"[dbnum2]")&"分"

相关主题
文本预览
相关文档 最新文档