搜档网
当前位置:搜档网 › VBA数字转换英文货币大写

VBA数字转换英文货币大写

VBA数字转换英文货币大写
VBA数字转换英文货币大写

《VBA数字转换英文货币大写》

使用说明:

本程序可在各种支持VBA语言的软件上直接使用,其中MS Excel和MS Access已成功测试。(把程序复制到VBA编程器里即可直接使用)

程序使用方法如下图:

程序:

Public Function CUSA(ByVal MyNumber, Optional MyCri As Integer)

Dim Dollars, Cents, Cents2, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = ("Thousand" + " ")

Place(3) = ("Million" + " ")

Place(4) = ("Billion" + " ")

Place(5) = ("Trillion" + " ")

MyNumber = Trim(Str(MyNumber)) ' String representation of amount.

DecimalPlace = InStr(MyNumber, ".") ' Position of decimal place 0 if none.

If DecimalPlace > 0 Then ' Convert cents and set MyNumber to dollar amount.

Cents2 = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

Cents = 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

If MyCri = 1 Then '英文大写全写

Select Case Dollars

Case ""

Dollars = ""

Case "One "

Dollars = "One Dollar"

Case Else

Dollars = Dollars & "Dollars"

End Select

Select Case Cents2

Case ""

If Dollars <> "" Then

Cents2 = " Only"

Else

Cents2 = ""

End If

Case "One"

If Dollars <> "" Then

Cents2 = " And One Cent"

Else

Cents2 = "One Cent"

End If

Case Else

If Dollars <> "" Then

Cents2 = " And" & (" " + Cents2) & "Cents"

Else

Cents2 = Cents2 & "Cents"

End If

End Select

CUSA = Dollars & Cents2

ElseIf MyCri = 0 Then '英文大写略写

Select Case Dollars

Case ""

Dollars = ""

Case "One"

Dollars = ""

Case Else

Dollars = Dollars

End Select

Select Case Cents

Case ""

If Dollars = "" Then

Else

Cents = "And " & "00/100"

End If

Case "01"

If Dollars = "" Then

Cents = Cents2 & "Cent"

Else

Cents = "And " & Cents & "/100"

End If

Case Else

If Dollars = "" Then

Cents = Cents2 & "Cents"

Else

Cents = "And " & Cents & "/100"

End If

End Select

CUSA = Dollars & Cents

End If

End Function

Public Function GetHundreds(ByVal MyNumber) ' Converts a number from 100-999 into text Dim result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

If Mid(MyNumber, 1, 1) <> "0" Then ' Convert the hundreds place.

result = GetDigit(Mid(MyNumber, 1, 1)) & "Hundred "

End If

If Mid(MyNumber, 2, 1) <> "0" Then ' Convert the tens and ones place.

result = result & GetTens(Mid(MyNumber, 2))

Else

result = result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = result

End Function

Public Function GetTens(TensText)

Dim result As String

result = "" ' 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 = ("Ten" + " ")

Case 11: result = ("Eleven" + " ")

Case 12: result = ("Twelve" + " ")

Case 13: result = ("Thirteen" + " ")

Case 14: result = ("Fourteen" + " ")

Case 15: result = ("Fifteen" + " ")

Case 16: result = ("Sixteen" + " ")

Case 17: result = ("Seventeen" + " ")

Case 18: result = ("Eighteen" + " ")

Case 19: result = ("Nineteen" + " ")

Case Else

End Select

Else ' If value between 20-99...

Select Case Val(Left(TensText, 1))

Case 2: result = ("Twenty" + " ")

Case 3: result = ("Thirty" + " ")

Case 4: result = ("Forty" + " ")

Case 5: result = ("Fifty" + " ")

Case 6: result = ("Sixty" + " ")

Case 7: result = ("Seventy" + " ")

Case 8: result = ("Eighty" + " ")

Case 9: result = ("Ninety" + " ")

Case Else

End Select

result = result & GetDigit _

(Right(TensText, 1)) ' Retrieve ones place.

End If

GetTens = result

End Function

Public Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = ("One" + " ")

Case 2: GetDigit = ("Two" + " ")

Case 3: GetDigit = ("Three" + " ")

Case 4: GetDigit = ("Four" + " ")

Case 5: GetDigit = ("Five" + " ")

Case 6: GetDigit = ("Six" + " ")

Case 7: GetDigit = ("Seven" + " ")

Case 8: GetDigit = ("Eight" + " ")

Case 9: GetDigit = ("Nine" + " ")

Case Else: GetDigit = ""

End Select

End Function

英文标题大小写规则

英文标题大小写规则 一般实词(名词、动词、代词、形容词、副词等)首字母大写,虚词(介词、冠词、连词、感叹词)首字母小写。 标题第一个单词、最后一个单词无论词性首字母应该大写。 超过5个字母的虚词,如between、without、alongside、underneath等应该大写。 如果是重要提示性标题,或者是专有名称标题,可以全部字母都用大写,但这种用法应慎重。附: 1. 英文题名(标题)

1) 题名的结构。英文题名以短语为主要形式,尤以名词短语(noun phrase )最常见,即题名基本上由一个或几个名词加上其前置和(或)后置定语构成。例如:Discussion About the Envy of Children an the Aged (儿童与老人之妒论略),Principles to Follow in Enrolling Talents in Higher Education Institutions (高校人才引进应遵循的原则)。短语型题名要确定好中心词,再进行前后修饰。各个词的顺序很重要,词序不当,会导致表达不准。题名一般不应是陈述句,因为题名主要起标示作用,而陈述句容易使题名具有判断式的语义;况且陈述句不够精练和醒目,重点也不易突出。少数情况(评述性、综述性和驳斥性)下可以用疑问句做题名,因为疑问句可有探讨性语

气,易引起读者兴趣。例如:Can Agricultural Mechanization be Realized Without Petroleum? (农业机械化能离开石油吗? )。 2) 题名的字数。题名不应过长。总的原则是,题名应确切、简练、醒目,在能准确反映论文特定内容的前提下,题名词数越少越好,一般不宜超过10 个实词。专家建议不要超过15 个字,根据人的记忆特点,最好不超过12 个字,否则不易记忆,最大限度一般不超过20 个字。 3) 中英文题名的一致性。同一篇论文,其英文题名与中文题名内容上应一致,但不等于说词语要一一对应。在许多情况下,个别非实质性的词可以省略或变动。

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

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(判断表达式,当条件值为真时返回的值,当条件值为假时返回的值)。通俗地说,

英文金额大写规则及英语商务合同注意事项

英文金额大写规则及英语商务合同注意事项 一、英文金额大写规则 举个例子: 比如金额$116,131.37 USD的英文大写应该怎样写呢,有什么规则吗? SAY U.S.DOLLARS ONE HUNDRED SISTEEN THOUSAND ONE HUNDRED THIRTY ONE CENTS THIRTY SEVEN ONLY 如果是人民币,则说 SAY RMB … SAY HK DOLLARS 二、英语商务合同的相关注意事项 英译商务合同貌似简单,实则不然。商务合同是一种特殊的应用文体,重在记实,用词行文的一大特点就是准确与严谨。 本文拟运用翻译教学中所积累的英译商务合同的实例,从三个方面论述如何从大处着眼、小处着手、力求准确严谨英译商务合同。(一)酌情使用公文语惯用副词 商务合同属于法律性公文,所以英译时,有些词语要用公文语词语、特别是酌情使用英语惯用的一套公文语副词,就会起到使译文结构严谨、逻辑严密、言简意赅的作用。但是从一些合同的英文译本中发现,这种公文语副词通常被普通词语所代替,从而影响到译文的质量。 实际上,这种公文语惯用副词为数并不多,而且构词简单易记。

常用的这类副词是由 here、there、where 等副词分别加上 after、by、in、of、on、to、under、upon、with 等副词,构成一体化形式的公文语副词。例如: 从此以后、今后:hereafter; 此后、以后:thereafter; 在其上:thereon、thereupon; 在其下:thereunder; 对于这个:hereto; 对于那个:whereto; 在上文:hereinabove、hereinbefore; 在下文:hereinafter、hereinbelow; 在上文中、在上一部分中:hereinbefore; 在下文中、在下一部分中:thereinafter. 现用两个实例,说明在英译合同中如何酌情使用上述副词。 例 1:本合同自买方和建造方签署之日生效。 This Contract shall come into force from the date of execution hereof by the Buyer and the Builder. 例 2:签署人特此同意在中国制造新产品,其品牌以此为合适。 The undersigned hereby agrees that the new products whereto this trade name is more appropriate are made in China. (二)慎重处理合同的关键细目 实践证明,英译合同中容易出现差错的地方,一般来说,不是大

英语单词大写规则

英语单词大写规则 It was last revised on January 2, 2021

在英语写作中,很多情况下要使用大写字母。其使用规则大致如下: (1) 所有句子的第一个单词的首字母要大写,包括引语中的句子。如: You should wear loose clothing in hot weather. He suggested, “The meeting should be put off till next.” (2) 专有名词,包括人名、地名、国名等要大写。如: Mary and Steve moved in the next door to the Johnsons. China and India are developing countries. (3) 表示种族、国籍、宗教、语言等的词语要大写。如: Chinese, Islamism, Christian, English (4) 标题中位于首尾的单词要大写;其他位置的除冠词、连词、介词外都要大写。如: Gone with the Wind. (5) 头衔放在人名前要大写;头衔表示的职位如果仅一人担任,而且头衔可以用来代替人名时,要大写。如: General George Marshall Professor Shirley Ores The Prime Minister arrives tomorrow. (6) 报纸、杂志、电影、戏剧、歌曲、书名等要大写。如: Overseas Digest A Tale of the White Snake. (7) 各种组织、俱乐部等的名字要大写。如: the National Organization for Women the Chess Club (8) 表示月份、星期、节日的名词要大写。如: Thanksgiving is celebrated on the third Thursday of November. (9) 商品的商标名要大写。如: a Sony television Kodak (10) 首字母缩写词中的所有字母都要大写。如: OPEC, NATO (11) 书信的称呼语和结尾谦辞首字母要大写。如: Dear Mr. Hill. Very sincerely yours (12) 表示亲属关系的名词在人名前时要大写。如: Aunt Mary Uncle Tom (13) 地理名词大写。如: the Midwest the South Pole (14) 表示历史阶段或历史事件的名词要大写。如: The Renaissance, The October Revolution (15) 政府机构、政党、院校名称要大写。如:

英文首字母大写规则(全)精编版

“大写”指首字母大写 “全大写”指全部字母大写。 (1)句子和标题第一个词大写。 (2)诗歌各行的首字母大写。 (3)论文大纲中各行的首字母大写。 以上三项在现代各种西文中都要大写。 (4)人名及与之连用的称呼、职称、头衔、诨号大写。如:Daniel Defoe(丹尼尔·笛福)、Oliver C. Fairbanks Jr.(小奥利弗·C. 费尔班克斯)、Uncle Tom(汤姆叔叔)、Senator Bradley (布莱德利参议员)、Lieutenant Colonel Smith(斯密斯中校)、Professor Johnson(约翰逊教授)、Stonewall Jackson(石壁杰克逊)。 原籍为爱尔兰、苏格兰等地的人有许多姓以O’、Mac、Mc为词头。如:O’Hara(奥哈拉)、MacDonald(麦克唐纳)、McKinley(麦金莱)。 英语国家法、西、葡、意、德、荷裔的人名在姓前往往带有de、della、du、der、d’、der la 、la、l’、van、van der、von、ten、ter、zur等附加成分,用大写还是小写从家族或个人习惯, 在移民的祖籍国小写的较多。不用全名,只提姓时一般要带附加成分。如:Eugen D’Albert(D’Albert),Lee De Forest(De Forest),Walter de la Mare(de la Mare),Martin Van Braun(Van Braun),Werner von Braun(von Braun)。附加成分在句子开头大写。如:the paintings of de Kooning / De Kooning’s paintings are over there. (5)星系、恒星、行星、卫星、星座等天体名称大写。如:Milky Way(银河系)、North Star (北极星)、Saturn(土星)、Phobos(火卫一)、Ursa Major(大熊星座)。 但sun(太阳)、earth(地球)、moon(月球)通常小写,除非它们作为太阳系特定天体名称出现,或同其他大写天体名称连用,如the Moon and Mars(月球和火星)。the solar system (太阳系)也小写。 (6)海洋、海峡、港湾、岛屿、半岛、湖泊、河流、山脉、高原、平原、沙漠等自然界事物的通名作为专名的一部分时大写。如:Atlantic Ocean(大西洋)、Rocky Mountains(落基山脉)、Strait of Gibraltar(直布罗陀海峡)、Rhode Island(罗得岛)、Hudson River(哈得孙河)。 通名不作为专名的一部分时小写。如:the Caribbean islands(加勒比海诸岛)、the river Thames (泰晤士河)、the river Nile(尼罗河)。 (7)东、西、南、北、中等方位名词作为专名的一部分时大写。如:East Asia(东亚)、South Calolina(南卡罗来纳州)、the Middle East(中东)。 仅指方向时小写。如:south by east(南偏东)、west of Londun(伦敦西)。 (8)省、州、市、县、乡、区等行政区划单位名称作为专名的一部分时大写,作为普通名词时小写。如:the Province of Antario(安大略省)、Hainan Province(海南省)、Washington

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函数 这个函数可以截去指定位数的小数,如果将小数部分全部截去,就可以得到一个整数。要注意,截去是指

金额大写转换函数

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

英语大小写规则

英语大小写规则.txt人生重要的不是所站的位置,而是所朝的方向。不要用自己的需求去衡量别人的给予,否则永远是抱怨。一、英语文章标题大小写规则 1.题目的第一个单词要大写; 2.冠词都不需要大写; 3.字母多于三个(不含三个)的介词、连词首字母要大写; 4.名词、动词、形容词、副词、代词、感叹词首字母; 5.大写所有英语中要求大写的单词。如月份、人名、地名等等。这几条原则的优先性是递减的,也就是说,如果几条原则之间出现了矛盾的情况,应优先实用前面的原则。如:如果题目的第一个单词是冠词或不多于二个字母的介词时也应该大写。 二、英文字母大写规则 1.句子开头的第一个字母要大写。“I(我)”在句中任何位置都要大写。例如:What's her name?Mary and I are teachers. 2.地名、国名和人名等专有名词第一个字母要大写。例如:Russia(俄罗斯),Youyang(酉阳),Chengdu(成都),Jack(杰克)。 3.一些亲属关系(如mother,sister,mum,dad等)用作称呼语时第一个字母要大写。例如:Thank you,Granny.谢谢你,姥姥。 4.人名前的称呼或头衔第一个字母应大写。例如:Mr Smith,Dr Wang,Miss Mary。 5.表示语种、民族的名词或形容词第一个字母要大写。例如:Russian俄语、俄罗斯人(的),Chinese汉语、中国人(的)。 6.直接引语中,句首字母要大写。例如:“Then,”I said,“You havebeen making a mistake,and the letter is not in the apartment.”“那么,”我说,“你准弄错了。这封信并不在那栋房子里。” 7.星期、月份名称的第一个字母要大写,但季节第一个字母不大写。例如:Sunday星期天,August八月,winter冬天,spring春天。

英文大写的金额

19,800,000美金 Eighteen million eight hundred thousand U.S. Dollars 关于金额的大写: 英文中金额的大写,由三个部分组成:“SAY + 货币”+ 大写数字(amount in words)+ ONLY(相当于我们的“整”)。和汉语不同的是,数字中有零不用写出来,而是把数字读法写出来即可。 如:1 146 725.00 SAY US DOLLARS ONE MILLION ONE HUNDRED AND FORTY SIX THOUSAND SEVEN HUNDRED AND TWENTY FIVE ONLY HKD12 176 SAY HONG KONG DOLLARS TWELVE THOUSAND ONE HUNDRED AND SEVENTY SIX ONLY. 如果金额有小数,常见的有三种表达方法: 1. ...AND CENTS…(cents in words) ONLY, 如: USD 100.25 可以写成 SAY US DOLLARS ONE HUNDRED AND CENTS TWENTY FIVE ONLY 2. …AND POINT…(cents in words) ONLY. 如: JPY1 100.55 可以写成 JAPANESE YUAN ONE THOUSAND ONE HUNDRED AND POINT FIFTY FIVE ONLY 3….##/100 ONLY, 如:EUD 13 658.85可以写成 EURO DOLLARS THIRTEEN THOUSAND SIX HUNDRED AND FIFTY EIGHT 85/100 ONLY

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.sodocs.net/doc/e011484829.html, * QQ:543669516(注上为什么加我就可以了) * 我的blog:https://www.sodocs.net/doc/e011484829.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---------------------------------------------");

英语大写规则

下面讲某个词语“大写”时指首字母大写,讲某个词语“全大写”时指全部字母大写。(1)句子和标题第一个词大写。 (2)诗歌各行的首字母大写。 (3)论文大纲中各行的首字母大写。 以上三项在现代各种西文中都要大写。 (4)人名及与之连用的称呼、职称、头衔、诨号大写。如:Daniel Defoe(丹尼尔·笛福)、Oliver C. Fairbanks Jr.(小奥利弗·C. 费尔班克斯)、Uncle Tom(汤姆叔叔)、Senator Bradley (布莱德利参议员)、Lieutenant Colonel Smith(斯密斯中校)、Professor Johnson(约翰逊教授)、Stonewall Jackson(石壁杰克逊)。 原籍为爱尔兰、苏格兰等地的人有许多姓以O’、Mac、Mc为词头。如:O’Hara(奥哈拉)、MacDonald(麦克唐纳)、McKinley(麦金莱)。 英语国家法、西、葡、意、德、荷裔的人名在姓前往往带有de、della、du、der、d’、der la 、la、l’、van、van der、von、ten、ter、zur等附加成分,用大写还是小写从家族或个人习惯, 在移民的祖籍国小写的较多。不用全名,只提姓时一般要带附加成分。如:Eugen D’Albert(D’Albert),Lee De Forest(De Forest),Walter de la Mare(de la Mare),Martin Van Braun(Van Braun),Werner von Braun(von Braun)。附加成分在句子开头大写。如:the paintings of de Kooning / De Kooning’s paintings are over there. (5)星系、恒星、行星、卫星、星座等天体名称大写。如:Milky Way(银河系)、North Star (北极星)、Saturn(土星)、Phobos(火卫一)、Ursa Major(大熊星座)。 但sun(太阳)、earth(地球)、moon(月球)通常小写,除非它们作为太阳系特定天体名称出现,或同其他大写天体名称连用,如the Moon and Mars(月球和火星)。the solar system (太阳系)也小写。 (6)海洋、海峡、港湾、岛屿、半岛、湖泊、河流、山脉、高原、平原、沙漠等自然界事物的通名作为专名的一部分时大写。如:Atlantic Ocean(大西洋)、Rocky Mountains(落基山脉)、Strait of Gibraltar(直布罗陀海峡)、Rhode Island(罗得岛)、Hudson River(哈得孙河)。 通名不作为专名的一部分时小写。如:the Caribbean islands(加勒比海诸岛)、the river Thames (泰晤士河)、the river Nile(尼罗河)。 (7)东、西、南、北、中等方位名词作为专名的一部分时大写。如:East Asia(东亚)、South Calolina(南卡罗来纳州)、the Middle East(中东)。 仅指方向时小写。如:south by east(南偏东)、west of Londun(伦敦西)。 (8)省、州、市、县、乡、区等行政区划单位名称作为专名的一部分时大写,作为普通名词时小写。如:the Province of Antario(安大略省)、Hainan Province(海南省)、Washington State或the state of Washington(华盛顿州)、New England states(新英格兰各州)、New York City(纽约市)或the city of New York(纽约城)、Palm Beach County(棕榈滩县)、Evanston Township埃文斯顿乡、Seventh Congressional District(第七国会选区)或his congressional

相关主题