人民币大小写转换自动生成器(非常方便)
- 格式:xls
- 大小:23.50 KB
- 文档页数:3
金额小写自动生成大写公式金额小写转换成大写的公式主要依据中文的数字命名规则。
以下是一个可将金额小写转换成大写的公式:1.将金额小写以“元”为单位进行分组,每四位一组分组(从低位到高位),以方便命名。
2.对于每一组最高位的数字,根据其所在的组数命名单位(例如“元”、“万”、“亿”)。
其他位的数字分别根据其所在的位数加上相应的单位(例如“拾”、“佰”、“仟”、“拾万”、“佰万”、“仟万”、“拾亿”等)。
3.对于每一组中的数字,根据其大小进行命名。
命名规则如下:-0不进行命名,直接舍弃。
-1命名为“壹”或“一”(个别情况)。
-其他数字命名为“贰”、“叁”、“肆”、“伍”、“陆”、“柒”、“捌”、“玖”。
4.在每个数字后面添加相应的单位(例如“角”、“分”、“整”),其他位的单位根据需要进行命名,例如“拾角”、“佰角”、“仟分”等。
5.将每一组的命名和单位合并,组成完整的大写金额。
以下是一个具体的例子来说明公式的应用:假设要将金额小写1202.34转换成大写金额,根据公式:1.将金额小写以“元”为单位进行分组,得到两组数字:1202和342.对于最高位的数字1202,根据其所在的组数命名单位为“元”,其他位的数字分别命名为“壹仟”、“贰佰”、“零拾”、“贰”。
3.对于数字34,命名为“叁拾肆”。
4.在每个数字后面添加相应的单位:1202命名为“壹仟贰佰零拾贰元”,34命名为“叁拾肆分”。
5.将每一组的命名和单位合并,得到大写金额为“壹仟贰佰零拾贰元叁拾肆分”。
这就是将金额小写1202.34转换成大写的公式。
根据这个公式,可以将任何金额小写转换成大写。
大写人民币转换小写金额:1688.99大写金额:[转换为大写金额]可以将人民币小写金额转换为大写金额,在下面的小写金额框中填入人民币金额的小写阿拉伯数字,例如1688.99,然后点击“转换为大写金额”按钮即可得转换成汉字。
在输入数字的时候,可以包含小数点,也可以写成千进制,例如1,688.99(注意是英文逗号,而不是中文逗号)。
人民币金额用到的中文大写汉字如下:零,一,二,三,四,五,六,七,八,九,十,一百,一千,一万,一亿。
大写人民币转换 1一、中文大写金额数字到“元”为止的,在“元”之后、应写“整”(或“正”)字;在“角”和“分”之后,不写“整”(或“正”)字。
二、中文大写金额数字前应标明“人民币”字样,大写金额数字应紧接“人民币”字样填写,不得留有空白。
大写金额数字前未印“人民币”字样的,应加填“人民币”三字,在票据和结算凭证大写金额栏内不得预印固定的“仟、佰、拾、万、仟、佰、拾、元、角、分”字样。
三、阿拉伯数字小写金额数字中有“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应写成人民币叁佰贰拾伍元零肆分。
标题:excel表格中数字自动变成人民币大写的函数在许多日常工作中,我们经常会用到Microsoft Excel这一办公软件来处理数据和表格。
在处理涉及人民币金额的时候,通常需要将数字自动转换成人民币大写的形式,这不仅方便了数据的阅读和理解,也符合财务报表的要求。
下面介绍一种在Excel中实现这一功能的方法,希望对大家有所帮助。
1. 准备工作在使用Excel表格处理人民币金额时,首先需要保证表格中含有人民币金额的数字列。
假设我们要将A列的数字自动转换成人民币大写,我们可以将转换后的结果显示在B列。
2. 编写函数在B列的第一个单元格中,输入以下函数来实现将数字自动转换成人民币大写的功能:=人民币(A1)其中,A1代表了要转换的人民币金额所在的单元格,人民币()为自定义的转换函数名称,可以根据个人喜好进行修改。
3. 自定义函数在Excel中,默认并没有内置的函数来实现将数字转换成人民币大写的功能,因此需要通过自定义宏来实现。
以下是一个示例的自定义函数,供大家参考:Function 人民币(ByVal MyNumber) As StringDim Dollars, Cents, TempDim DecimalPlace, CountReDim place(9) As Stringplace(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 ThenCents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) _ "00", 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp place(Count) Dollars If Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)ElseMyNumber = ""End IfCount = Count + 1LoopSelect Case DollarsCase ""Dollars = "No Dollars"Case "One"Dollars = "One Dollar"Case ElseDollars = Dollars " 元"End SelectSelect Case CentsCase ""Cents = " and No Cents"Case "One"Cents = " and One Cent"Case ElseCents = " and " Cents " 分"End Select人民币 = Dollars CentsEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" MyNumber, 3)If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) " 百"End IfIf Mid(MyNumber, 2, 1) <> "0" ThenResult = Result GetDigit(Mid(MyNumber, 2, 1)) " 十"ElseIf Mid(MyNumber, 1, 1) <> "0" And Mid(MyNumber, 2, 1) = "0" ThenResult = Result " 零"End IfEnd IfIf Mid(MyNumber, 3, 1) <> "0" ThenResult = Result GetDigit(Mid(MyNumber, 3, 1))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText)Case 10: Result = "十"Case 11: Result = "十一"Case 12: Result = "十二"Case 13: Result = "十三"Case 14: Result = "十四"Case 15: Result = "十五"Case 16: Result = "十六"Case 17: Result = "十七"Case 18: Result = "十八"Case 19: Result = "十九"Case ElseEnd SelectElse ' If value between 20-99...Select Case Val(Left(TensText, 1))Case 2: Result = "二十 "Case 3: Result = "三十 "Case 4: Result = "四十 "Case 5: Result = "五十 "Case 6: Result = "六十 "Case 7: Result = "七十 "Case 8: Result = "八十 "Case 9: Result = "九十 "Case ElseEnd SelectResult = Result GetDigit _(Right(TensText, 1)) ' Retrieve ones place. End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "一"Case 2: GetDigit = "二"Case 3: GetDigit = "三"Case 4: GetDigit = "四"Case 5: GetDigit = "五"Case 6: GetDigit = "六"Case 7: GetDigit = "七"Case 8: GetDigit = "八"Case 9: GetDigit = "九"Case Else: GetDigit = ""End SelectEnd Function4. 使用自定义函数在完成自定义函数的编写后,我们可以在B列的第一个单元格中输入=人民币(A1),然后按下Enter键,即可看到A1单元格中的人民币金额被自动转换成人民币大写的形式,并显示在B1单元格中。
小写金额大写金额¥521.23伍佰贰拾壹元贰角叁分¥23.00贰拾叁元整¥125.20壹佰贰拾伍元贰角整¥348.00叁佰肆拾捌元整¥15.00壹拾伍元整¥23.21贰拾叁元贰角壹分给你一个,放在工具里:Function convert_digital_chinese(ByVal Myinput)Dim Temp, TempA, MyinputA, MyinputB, MyinputCDim Place As StringDim J As IntegerPlace = "分角元拾佰仟万拾佰仟亿拾佰仟万"shuzi1 = "壹贰叁肆伍陆柒捌玖"shuzi2 = "整零元零零零万零零零亿零零零万"qianzhui = ""If Myinput < 0 Then qianzhui = "负"Myinput = Int(Abs(Myinput) * 100 + 0.5)If Myinput > 999999999999999# Thenmychange = "数字太大了吧???"Exit FunctionEnd IfIf Myinput = 0 Thenmychange = "零元零分"Exit FunctionEnd IfMyinputA = Trim(Str(Myinput))shuzilong = Len(MyinputA)For J = 1 To shuzilongMyinputB = Mid(MyinputA, J, 1) & MyinputBNextFor J = 1 To shuzilongTemp = Val(Mid(MyinputB, J, 1))If Temp = 0 ThenMyinputC = Mid(shuzi2, J, 1) & MyinputCElseMyinputC = Mid(shuzi1, Temp, 1) & Mid(Place, J, 1) & MyinputC End IfNextshuzilong = Len(MyinputC)For J = 1 To shuzilong - 1If Mid(MyinputC, J, 1) = "零" ThenSelect Case Mid(MyinputC, J + 1, 1)Case "零", "元", "万", "亿", "整":MyinputC = Left(MyinputC, J - 1) & Mid(MyinputC, J + 1, 30)J = J - 1End SelectEnd IfNextshuzilong = Len(MyinputC)For J = 1 To shuzilong - 1If Mid(MyinputC, J, 1) = "亿" And Mid(MyinputC, J + 1, 1) = "万" Then MyinputC = Left(MyinputC, J) & Mid(MyinputC, J + 2, 30)Exit ForEnd IfNextmychange = qianzhui & Trim(MyinputC)。
excel人民币大小写转换函数
在excel中,可以使用函数轻松实现“人民币大小写转换”。
下面就来介绍一下excel中人民币大小写转换函数的使用方法:
1、准备工作
准备工作很简单,只需要在excel中新建一个工作表,并将要转换的数字输入在表格中即可。
2、使用函数
在excel中,可以使用函数“large”来实现人民币大小写转换,函数的具体使用方法是:
=Large(A1,B1)
其中,A1为要转换的数字,B1为单位(按数字的位数计算,从个位开始)。
例如,我们要转换“4531400”,则其转换函数为:
= Large(4531400,1),1表示单位是个,即若干个“万”
= Large(4531400,2),2表示单位是十万,即若干十万
= Large(4531400,3),3表示单位是百万,即若干百万等等。
- 1 -。
在EXCEL中需要人民币大小写的转换。
在网上找了多种小写转换成大写的方法,有的效果不满意,有的又太深奥不适合初学者,这里给大家分享个方便的方法(也是网上查询到的…^O^)——将如下语句粘贴到你要得到结果的单元格中就成了(所有蓝色部分都要复制过去)=IF(A9<0,"负","")&IF(TRUNC(ROUND(A9,2))=0,"",TEXT(TRUNC(ABS(R OUND(A9,2))),"[DBNum2]")&"元")&IF(ISERR(FIND(".",ROUND(A9,2))),"",TEXT(RIGHT(TRU NC(ROUND(A9,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0 ",TEXT(A9,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A9,2),3))=".",TEXT(RIGHT( ROUND(A9,2)),"[DBNum2]")&"分","整")注意:将下公式中的所有“A9”(需要转换数值的单元格)换成你输入数据的单元格名称就可以了。
具体操作:选定复制后的单元格,点击“编辑(E)”——“替换”——在“查找内容”输入a9——在“替换为”输入原数值的“a1”或“b2”等要得到结果的单元格的地址名称——点击“全部替换(A)。
OK!!看看结果吧:)补充:单位只能到”分"。
沈阳工程学院课程设计课程设计题目:C#.NET程序设计课程设计-----人民币大小写转换器系别信息学院班级学生姓名学号指导教师张楠、关颖职称讲师、讲师起止日期:2015 年6月22日起——至 2015 年6月28日止沈阳工程学院课程设计任务书课程设计题目:C#.NET程序设计课程设计----- 人民币大小写转换器系别信息工程系班级学生姓名学号指导教师张楠、关颖职称讲师、讲师课程设计进行地点:实训F任务下达时间:2015 年 6 月 3 日起止日期:2015 年 6 月22 日起——至2015年6月28 日止教研室主任2015年6月 3 日批准1.设计的原始资料及依据通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。
2.设计的主要内容及要求(22)人民币大小写转换器软件的设计与实现编写一个简易人民币大小写转换器的Winform程序,要求用户输入一个人民币的数据,要求转换器可以获取数据,并且可以以大写的方式显示出来,如 1对应壹。
要求可区分元、角、分。
3.对设计说明书撰写内容、格式、字数的要求⑴学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
⑵装订格式封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。
⑶课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。
4. 设计完成后应提交成果的种类、数量、质量等方面的要求⑴课程设计报告1 需求分析2 总体设计2.1 设计的总体思想与算法描述2.2 模块结构图2.3 各功能模块的功能与处理流程描述2.4 界面设计3 各功能模块程序设计按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句的注释。
⼈民币⼤⼩写转换(C#)今天写了⼀个C#版本的⼤⼩写转换类,想着也要更新⼀下我的⽇记了,便把它传了上来。
哪位路过的⾼⼿,请指点。
这个类提供了⼀个静态⽅法叫做 Convert ( double ),传⼊⼀个9千万亿以内的数值它都能正确的转换为中⽂的⼤写。
基本的思路是将传⼊的数据分为整数部分和⼩数部分分别来处理,⼩数部分的处理⽐较简单,整数部分的处理我作了相应的注释。
1using System;23namespace Tools{4///<summary>5/// DigitalToChinese :实现将⼈民币的数字形式转换为中⽂格式。
6///</summary>7public class DigitalToChinese8 {9public DigitalToChinese(){10 }1112public static string Convert ( double digital ){13if ( digital == 0.00f )14return "零元整";1516string buf = ""; /* 存放返回结果 */17string strDecPart = ""; /* 存放⼩数部分的处理结果 */18string strIntPart = ""; /* 存放整数部分的处理结果 */1920/* 将数据分为整数和⼩数部分 */21char [] cDelim = {'.'};22string [] tmp = null;23string strDigital = digital.ToString ();24if ( strDigital[0] =='.'){ /* 处理数据⾸位为⼩数点的情况 */25 strDigital = "0" + strDigital;26 }27 tmp = strDigital.Split ( cDelim,2);2829/* 整数部分的处理 */30if ( tmp[0].Length > 15 ) {31throw new Exception ("数值超出处理范围。
大写转换中文大写数字历史渊源大写数字的使用始于明朝。
朱元璋因为当时的一件重大贪污案“郭桓案”而发布法令,其中明确要求记账的数字必须由“一、二、三、四、五、六、七、八、九、十、百、千”改为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰(陌)、仟(阡)”等复杂的汉字,用以增加涂改帐册的难度。
后来“陌”和“阡”被改写成“佰、仟”,并一直使用到现在。
大写数字注释:中文大写金额数字要用正楷或行书填写,如一(一)、二(二)、三、四(四)、五(五)、六(六)、七、八、九、十、百、一千、一万(一万)、一亿、元、角、分。
不使用一、二(二)、三、四、五、六、七、八、九、十、读、发、另一个(或0),不自制简化字。
如果在金额数字的书写中使用了繁体字,如二、六、一亿、万、圆等,也应接受。
一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。
大写金额数字有"分"的,"分"后面不写"整"(或"正")字。
二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。
三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。
大写金额数字前未印"人民币"字样的,应加填"人民币"三字。
在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。
四、阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。
⼈民币⼤写转化函数(版)看了的⼤⼩写⾦额转换函数,⾃⼰也对照着写了个的,然后⽤类封装了⼀下。
原版C#版的,可以看。
Public Class CurrencyInherits ObjectPrivate Const CST_CAPSTR_TAIL As String = "整"Private Const CST_CAPSSTR_ZERO As String = "零"Private Const CST_CAPSSTR As String = CST_CAPSSTR_ZERO & "壹贰叁肆伍陆柒捌玖"Private Const CST_POSSTR_YUAN As String = "元"Private Const CST_POSSTR As String = "万仟佰拾亿仟佰拾万仟佰拾" & CST_POSSTR_YUAN & "⾓分"Private Const CST_CHNNUM_ZERO As String = CST_CAPSSTR_ZERO & CST_POSSTR_YUAN & CST_CAPSTR_TAILPrivate Shared ReadOnly CST_MAXLENGTH As Integer = CST_POSSTR.LengthPublic Shared Function ConvertToCapsString(ByVal dec As Decimal) As StringDim i, j, nZero As IntegerDim strDec, strPos, ch1, ch2 As StringDim chnNum, chnPos As StringDim strOnePosValue As StringDim intOnePosValue As Integer'将num取绝对值并四舍五⼊取2位⼩数dec = Math.Round(Math.Abs(dec), 2)'将num乘100并转换成字符串形式strDec = Convert.ToInt64(dec * 100).ToString'找出最⾼位j = strDec.LengthIf i > CST_MAXLENGTH ThenThrow New OverflowExceptionElseIf dec = 0Then'零元的时候,直接输出“零元整”chnNum = CST_CHNNUM_ZEROElse'取出对应位数的str2的值。
财务金额的自动化大小写转换在与报销单类似的财务单据填写过程中,货币金额的小写和大写转化是一个很重要的环节,在手工处理时,不但输入时很繁琐,而且还往往会出现不符合财务上描述货币数字的情况。
在本例中,我们事先自定义一个函数,然后再利用自定义的函数来实现自动转换,具体的操作步骤如下:(1)执行菜单栏中的【工具】|【宏】|【Visual Basic编辑器】命令,进入“Visual Basic编辑”窗口。
(2)在“Visual Basic编辑”窗口中,执行菜单栏中的【插入】|【模块】命令,插入一个模块(如图1所示)。
双击左侧的“模块1”,在窗口右边展开“模块1(代码)”编辑窗口,输入如下代码:图1 插入模块Function dx(q)ybb = Round(q * 100) '将输入的数值扩大100倍,进行四舍五入y = Int(ybb / 100) '截取出整数部分j = Int(ybb / 10) - y * 10 '截取出十分位f = ybb - y * 100 - j * 10 '截取出百分位zy = Application.WorksheetFunction.Text(y, "[dbnum2]") '将整数部分转为中文大写zj = Application.WorksheetFunction.Text(j, "[dbnum2]") '将十分位转为中文大写zf = Application.WorksheetFunction.Text(f, "[dbnum2]") '将百分位转为中文大写dx = zy & "元" & "整"d1 = zy & "元"If f <> 0 And j <> 0 Thendx = d1 & zj & "角" & zf & "分"If y = 0 Thendx = zj & "角" & zf & "分"End IfEnd IfIf f = 0 And j <> 0 Thendx = d1 & zj & "角" & "整"If y = 0 Thendx = zj & "角" & "整"End IfEnd IfIf f <> 0 And j = 0 Thendx = d1 & zj & zf & "分"If y = 0 Thendx = zf & "分"End IfEnd IfIf q = "" Thendx = 0 '如没有输入任何数值为0End IfEnd Function提示:代码中“dx”是自定义函数名称,读者可以修改为其他字符。
数字转英文货币大写自定义函数摘要本文介绍了如何使用Python编写一个自定义函数,将数字转换为英文货币大写的格式。
通过该函数,我们可以将任意数字转换为英文货币的大写形式,例如将1500转换为"One thousand five hundred dollars"。
背景在日常工作和生活中,我们经常会遇到需要将数字转换为英文货币大写形式的情况。
比如在填写支票、报销单或者财务报表时,需要将数字转换为大写形式。
但是在很多情况下,我们可能没有合适的工具或者函数来完成这样的任务。
我们可以通过编写一个自定义函数来实现这一目的。
实现我们可以使用Python编写一个自定义函数来实现将数字转换为英文货币大写形式的功能。
下面是一个简单的示例代码:```pythondef number_to_currency_words(number):if number < 0 or number > xxx:return "Number out of range"ones = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]teens = ["", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]tens = ["", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]thousands = ["", "thousand", "million"]words = []for i in range(3):n = number 1000if n != 0:word = ""if n // 100 > 0:word += ones[n // 100] + " hundred "n = 100if n >= 11 and n <= 19:word += teens[n - 10] + " "elif n == 10 or n >= 20:word += tens[n // 10] + " "n = 10if n > 0 and n < 10:word += ones[n] + " "if i > 0:word += thousands[i] + " "words.append(word)number //= 1000if len(words) == 0:return "zero dollars"else:result = ""for word in reversed(words):result += wordreturn result + "dollars"number = 1500print(number_to_currency_words(number))```上述代码中,我们使用了一个自定义函数number_to_currency_words来实现将数字转换为英文货币大写形式的功能。