中英文金额大写自动转换器

合集下载

数字转大写金额

数字转大写金额

数字大写对照表:
1 2 3 4 5 6 7 8
壹贰叁肆伍陆柒捌
9 0 十百千万亿兆
玖零拾佰仟万亿兆
中文大写金额数字应用正楷或行书填写,如壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整(正)等字样。

不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。

如果金额数字书写中使用繁体字,如貳、陸、億、萬、圓的,也应受理。

以下excel数字转大写金额方式:
1、选中大写金额列单元格,右键点击【设置单元格格式】;
2、在“设置单元格格式”中点击【特殊】,选中【中文大写数字】,点击【确定】;
3、选中单元格输入“=C2”,"C2"是数字所在单元格位置;
4、输入公式后,在单元格中自动显示为“大写金额”了。

将阿拉伯数字金额转换成中文大写数字金额的转换类money_convert

将阿拉伯数字金额转换成中文大写数字金额的转换类money_convert

package com.newer;/** To change this template, choose Tools | Templates* and open the template in the editor.*///package mon;import java.math.RoundingMode;import java.text.NumberFormat;import java.util.HashMap;import java.util.Map;/*** 将阿拉伯数字金额转换成中文大写数字金额的转换类* @author yzy*/public class MoneyConvert {* 将阿拉伯数字金额转换成中文大写数字金额* @param money * @returnpublic static String toCNMoney(double money) {//转换成指定格式的数字NumberFormat fmt = NumberFormat.getInstance();fmt.setMaximumFractionDigits(2);//两位小数fmt.setRoundingMode(RoundingMode.HALF_UP); //四舍五入fmt.setGroupingUsed(false);//不要千分号money = Double.valueOf(fmt.format(money));Map<Integer, String> numbersMap = new HashMap<Integer, String>(10);String[] section = {"", "萬", "億", "兆"};//拆分为四大块,精确到万亿位,即兆// String[] positions = {"拾", "佰", "仟"};String[] numbers = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};for (int i = 0; i < numbers.length; i++) {numbersMap.put(i, numbers[i]);}String result = "";//1.处理小数位(如果有)if (fmt.format(money).contains(".")) {int remainder = (int) ((money * 100) % 100);//取余int a = remainder / 10;if (a != 0) {result = numbersMap.get(a) + "角";}int b = remainder % 10;if (b != 0) {if (a == 0) {result += numbersMap.get(0) + numbersMap.get(b) + "分";//处理特殊情况,如2.05(贰圆零伍分)} else {result += numbersMap.get(b) + "分";} } }//2.处理整数位long total = (long) (money * 100 / 100);//取整if (total == 0) {return result.equals("") ? (numbersMap.get(0) + "圆") : result;//少于1元} int j = 0; String tempResult = "";do { //每次处理四位数long t = (total % 10000);String str = MoneyConvert.thousandToUpperCase((int) t, numbersMap, null);total = total / 10000;if (total != 0 && t > 0 && t < 1000) {str = numbersMap.get(0) + str;//如果每次处理之后还有万位且前次处理的四位取余t(0<t<1000),则前面应补零}tempResult = str + section[j] + tempResult; j++;} while (total != 0);//3.最后别忘了金额单位result = tempResult + "圆" + result;return result; }/处理千位以内阿拉伯数字金额*@param number*@param numbersMap*@param result* @return */private static String thousandToUpperCase(int number, Map<Integer, String> numbersMap, String result) { result = result == null ? "" : result;if (number < 10) { return number == 0 ? result : (result + numbersMap.get(number));//取出个位}if (number < 100) {result = result + numbersMap.get(number / 10) + "拾";//取出十位return thousandToUpperCase(number % 10, numbersMap, result); } if (number < 1000) {result = result + numbersMap.get(number / 100) + "佰";//取出百位//处理特殊情况,如201if (0 < number % 100 && number % 100 < 10) {result += numbersMap.get(0);//加个零}return thousandToUpperCase(number % 100, numbersMap, result); } if (number < 10000) {result = result + numbersMap.get(number / 1000) + "仟";//取出千位//处理特殊情况,如2001,2011if (0 < number % 1000 && number % 1000 < 100) {result += numbersMap.get(0);//加个零}return thousandToUpperCase(number % 1000, numbersMap, result); } return result; }public static void main(String[] args) {System.out.println(MoneyConvert.toCNMoney(1010101010101.00));System.out.println(MoneyConvert.toCNMoney(100.00));}}。

支票金额大写转换示例(金额大写转换器)

支票金额大写转换示例(金额大写转换器)

⽀票⾦额⼤写转换⽰例(⾦额⼤写转换器)复制代码代码如下:import java.util.HashMap;import java.util.Map;public class FigureAndChinese2Util {// 缓存所有数字的private static Map<Character, Character> map = new HashMap<Character, Character>(10);static {map.put('1', '壹');map.put('2', '贰');map.put('3', '叁');map.put('4', '肆');map.put('5', '伍');map.put('6', '陆');map.put('7', '柒');map.put('8', '捌');map.put('9', '玖');map.put('0', '零');}static char[] mode = new char[] { '拾', '佰', '仟' };public static void m(String sb) {StringBuffer sbf = new StringBuffer();String[] sp = sb.split("\\.");if (sp.length == 2) {m0(sp[0], 0, sbf);sbf.append(m2(sp[1]));} elsem0(sb, 0, sbf);sbf.append("整");System.out.println(sbf);}/**** 切割字符串** @param sb*/public static void m0(String sb, int type, StringBuffer sbf) {int len = sb.length();int b = 0;type++;if (len >= 4) {b = len - 4;sbf.insert(0, m1(sb.substring(b), type));m0(sb.substring(0, b), type, sbf);} else if (len > 0)sbf.insert(0, m1(sb, type));if ('零' == sbf.charAt(0))sbf.deleteCharAt(0);}/**** 处理** @param sb*/public static StringBuffer m1(String sb, int type) { StringBuffer sbf = new StringBuffer(sb);switch (type) {case 1:sbf.append("圆");break;case 2:sbf.append("万");break;case 3:sbf.append("亿");break;default:break;}// 开始赋值int b = 0;char t = 0;for (int i = sbf.length() - 2; i >= 0; i--) {t = sbf.charAt(i);sbf.setCharAt(i, map.get(t));if (i != 0)sbf.insert(i, mode[b]);b++;}for (int i = 0; i < sbf.length(); i++) {t = sbf.charAt(i);if (t == '零') {t = sbf.charAt(i + 1);if ('圆' != t && '万' != t && '亿' != t)sbf.deleteCharAt(i + 1);elsesbf.deleteCharAt(i);if (i != 0)if (sbf.charAt(i - 1) == '零') {sbf.deleteCharAt(i - 1);i--;}}}if (sbf.length() == 1) {if ('圆' != sbf.charAt(0))sbf.setLength(0);}return sbf;}public static StringBuffer m2(String de) {if (de.length() > 2)de = de.substring(0, 2);de = de.replaceFirst("00", "");StringBuffer sb = new StringBuffer(de);if (sb.length() > 0) {if (sb.charAt(sb.length() - 1) == '0')sb.deleteCharAt(sb.length() - 1);sb.setCharAt(0, map.get(sb.charAt(0)));switch (sb.length()) {case 1:sb.append("⾓");break;case 2:sb.setCharAt(1, map.get(sb.charAt(1))); if (sb.charAt(0) != '零')sb.insert(1, '⾓');sb.append("分");break;default:break;}}return sb;}public static void main(String[] args) {String s = "4444444441.23";String s1 = "1";String s2 = "1000000000.01";String s3 = "101010002.11";m(s);m(s1);m(s2);m(s3);}}。

人民币金额大小写

人民币金额大小写

人民币金额大写写法《正确填写票据和结算凭证的基本规定》银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。

票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。

因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。

中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。

不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。

如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。

一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。

大写金额数字有"分"的,"分"后面不写"整"(或"正")字。

二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。

三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。

大写金额数字前未印"人民币"字样的,应加填"人民币"三字。

在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。

大写人民币转换

大写人民币转换

大写人民币转换小写金额: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应写成人民币叁佰贰拾伍元零肆分。

金额转换为人民币大写(C#)

金额转换为人民币大写(C#)

⾦额转换为⼈民币⼤写(C#) 1using System;23namespace TestUpperRMB4{5///<summary>6///本类实现阿拉伯数字到⼤写中⽂的转换7///该类没有对⾮法数字进⾏判别,请事先⾃⼰判断数字是否合法8///</summary>9public class ChineseNum10 {11public static string GetChineseNum(string p_num)12 {13 ChineseNum cn = new ChineseNum();1415return cn.NumToChn(p_num);16 }1718public static string GetUpperMoney(double p_Money)19 {20 ChineseNum cn = new ChineseNum();2122return cn.GetMoneyChinese(p_Money);23 }2425//转换数字26private char CharToNum(char x)27 {28string stringChnNames="零⼀⼆三四五六七⼋九";29string stringNumNames="0123456789";30return stringChnNames[stringNumNames.IndexOf(x)];31 }3233//转换万以下整数34private string WanStrToInt(string x)35 {36string[] stringArrayLevelNames=new string[4] {"","⼗","百","千"};37string ret="";38int i;39for (i=x.Length-1;i>=0;i--)40if (x[i] == '0')41 {42 ret = CharToNum(x[i]) + ret;43 }44else45 {46 ret = CharToNum(x[i]) + stringArrayLevelNames[x.Length - 1 - i] + ret;47 }48while ((i = ret.IndexOf("零零")) != -1)49 {50 ret = ret.Remove(i, 1);51 }52if (ret[ret.Length - 1] == '零' && ret.Length > 1)53 {54 ret = ret.Remove(ret.Length - 1, 1);55 }56if (ret.Length >= 2 && ret.Substring(0, 2) == "⼀⼗")57 {58 ret = ret.Remove(0, 1);59 }60return ret;61 }62//转换整数63private string StrToInt(string x)64 {65int len=x.Length;66string ret,temp;67if (len <= 4)68 {69 ret = WanStrToInt(x);70 }71else if (len <= 8)72 {73 ret = WanStrToInt(x.Substring(0, len - 4)) + "万";74 temp = WanStrToInt(x.Substring(len - 4, 4));75if (temp.IndexOf("千") == -1 && temp != "")76 ret += "零" + temp;77else78 ret += temp;81 {82 ret = WanStrToInt(x.Substring(0, len - 8)) + "亿";83 temp = WanStrToInt(x.Substring(len - 8, 4));84if (temp.IndexOf("千") == -1 && temp != "")85 {86 ret += "零" + temp;87 }88else89 {90 ret += temp;91 }92 ret += "万";93 temp = WanStrToInt(x.Substring(len - 4, 4));94if (temp.IndexOf("千") == -1 && temp != "")95 {96 ret += "零" + temp;97 }98else99 {100 ret += temp;101 }102103 }104int i;105if ((i = ret.IndexOf("零万")) != -1)106 {107 ret = ret.Remove(i + 1, 1);108 }109while ((i = ret.IndexOf("零零")) != -1)110 {111 ret = ret.Remove(i, 1);112 }113if (ret[ret.Length - 1] == '零' && ret.Length > 1)114 {115 ret = ret.Remove(ret.Length - 1, 1);116 }117return ret;118 }119//转换⼩数120private string StrToDouble(string x)121 {122string ret="";123for (int i = 0; i < x.Length; i++)124 {125 ret += CharToNum(x[i]);126 }127return ret;128 }129130private string NumToChn(string x)131 {132if (x.Length == 0)133 {134return "";135 }136string ret="";137if (x[0]=='-')138 {139 ret="负";140 x=x.Remove(0,1);141 }142if (x[0].ToString() == ".")143 {144 x = "0" + x;145 }146if (x[x.Length - 1].ToString() == ".")147 {148 x = x.Remove(x.Length - 1, 1);149 }150if (x.IndexOf(".") > -1)151 {152 ret += StrToInt(x.Substring(0, x.IndexOf("."))) + "点" + StrToDouble(x.Substring(x.IndexOf(".") + 1)); 153 }154else155 {156 ret += StrToInt(x);157 }158return ret;159 }160161162private string GetMoneyChinese(Double Money)165string mstrSource;166167if (Money == 0)168 {169return "";170 }171 mstrSource = Money.ToString("#0.00");172 i = mstrSource.IndexOf(".");173if (i > 0) {mstrSource = mstrSource.Replace(".","");}174if (mstrSource.Substring(0,1) == "0") {mstrSource = mstrSource.Remove(0,1);}175176 mstrSource = NumstrToChinese(mstrSource);177if (mstrSource.Length == 0) {return "";}178//负179if (Money < 0)180 {181 mstrSource = "负" + mstrSource;182 }183184 mstrSource=mstrSource.Replace("0","零");185 mstrSource=mstrSource.Replace("1","壹");186 mstrSource=mstrSource.Replace("2","贰");187 mstrSource=mstrSource.Replace("3","叁");188 mstrSource=mstrSource.Replace("4","肆");189 mstrSource=mstrSource.Replace("5","伍");190 mstrSource=mstrSource.Replace("6","陆");191 mstrSource=mstrSource.Replace("7","柒");192 mstrSource=mstrSource.Replace("8","捌");193 mstrSource=mstrSource.Replace("9","玖");194 mstrSource=mstrSource.Replace("M","亿");195 mstrSource=mstrSource.Replace("W","万");196 mstrSource=mstrSource.Replace("S","仟");197 mstrSource=mstrSource.Replace("H","佰");198 mstrSource=mstrSource.Replace("T","拾");199 mstrSource=mstrSource.Replace("Y","圆");200 mstrSource=mstrSource.Replace("J","⾓");201 mstrSource=mstrSource.Replace("F","分");202if (mstrSource.Substring(mstrSource.Length-1, 1) != "分")203 {204 mstrSource = mstrSource + "整";205 }206return mstrSource;207 }208209//⾦额转换210private string NumstrToChinese(string numstr)211 {212int i;213int j;214string mstrChar;215string[] mstrFlag=new string[4];216string mstrReturn="";217bool mblnAddzero=false;218219 mstrFlag[0] = "";220 mstrFlag[1] = "T";221 mstrFlag[2] = "H";222 mstrFlag[3] = "S";223224for (i = 1;i<=numstr.Length;i++)225 {226 j = numstr.Length - i;227 mstrChar = numstr.Substring(i-1,1);228if (mstrChar != "0" && j > 1) {mstrReturn = mstrReturn + mstrChar + mstrFlag[(j - 2) % 4];} 229if (mstrChar == "0" && mblnAddzero==false)230 {231 mstrReturn = mstrReturn + "0";232 mblnAddzero = true;233 }234if (j == 14)235 {236if (mstrReturn.Substring(mstrReturn.Length-1) == "0")237 {mstrReturn =mstrReturn.Substring(0,mstrReturn.Length-1) + "W0";}238else239 {mstrReturn = mstrReturn + "W";}240 }241if (j == 2)242 {243if (mstrReturn.Substring(mstrReturn.Length-1,1) == "0")244 {mstrReturn =mstrReturn.Substring(0,mstrReturn.Length-1) + "Y0";}245else246 {mstrReturn = mstrReturn + "Y";}247//元248 }249if (j == 6)250 {251if (mstrReturn.Length > 2)252 {253if (mstrReturn.Substring(mstrReturn.Length-2) != "M0")254 {255if (mstrReturn.Substring(mstrReturn.Length-1) == "0")256 {mstrReturn =mstrReturn.Substring(0,mstrReturn.Length-1) + "W0";}257else258 {mstrReturn = mstrReturn + "W";}259 }260 }261else262 {263if (mstrReturn.Substring(mstrReturn.Length-1) == "0")264 {mstrReturn =mstrReturn.Substring(0,mstrReturn.Length-1) + "W0";}265else266 {mstrReturn = mstrReturn + "W";}267 }268 }269if (j == 10)270 {271if (mstrReturn.Substring(mstrReturn.Length-1) == "0")272 {mstrReturn =mstrReturn.Substring(0,mstrReturn.Length-1) + "M0";}273else274 {mstrReturn = mstrReturn + "M";}275 }276if (j == 0 && mstrChar != "0") {mstrReturn = mstrReturn + mstrChar + "F";}277if (j == 1 && mstrChar != "0") {mstrReturn = mstrReturn + mstrChar + "J";}278if (mstrChar != "0") {mblnAddzero = false;}279 }280if (mstrReturn.Substring(0, 1) == "1" && mstrReturn.Substring(1, 1) == mstrFlag[1]) {mstrReturn = mstrReturn.Substring(1);}281if (mstrReturn.Substring(mstrReturn.Length-1, 1) == "0"){mstrReturn = mstrReturn.Substring(0,mstrReturn.Length-1);}282if (mstrReturn.Substring(0, 1) == "0") {mstrReturn = mstrReturn.Substring(1);}283if (mstrReturn.Substring(mstrReturn.Length-1, 1) == "M" || mstrReturn.Substring(mstrReturn.Length-1, 1) == "W" || mstrReturn.Substring(mstrReturn.Lengt h-1, 1) == "S" || mstrReturn.Substring(mstrReturn.Length-1, 1) == "H" || mstrReturn.Substring(mstrReturn.Length-1, 1) == "T") {mstrReturn = mstrReturn + "Y";}284return mstrReturn;285 }286287288 }289}这是我来博客园写的处⼥作^_^~~。

excel金额转换大写的函数

excel金额转换大写的函数

excel金额转换大写的函数
在 Excel 中,有一种名为"currency"的函数可以用来将数字转换为大写形式。

该函数的语法如下:
```
currency(value, currency_code)
```
其中,`value`是要转换的数字,`currency_code`是指定要使用的货币代码。

例如,要将 100 美元转换为英镑,可以使用以下公式: ```
=currency(100, "GBP")
```
这个公式将返回一个大写英镑符号"",表示 100 英镑。

请注意,currency 函数只适用于某些货币,并且不是所有货币都支持大写形式。

如果需要将所有数字转换为大写形式,可以使用以下公式:
```
=TEXT(value, "[$-][#,##0.00];[0000][#,##0.00];")
```
这个公式将返回一个包含数字的大写形式字符串,例如:"100.00"。

如果需要将特定单元格中的数字转换为大写形式,可以使用以下公式:
```
=TOTEXT(value, "[$-][#,##0.00];[0000][#,##0.00];")
```
这个公式将返回一个包含数字的大写形式字符串,仅限于支持大写形式的货币。

rmb大写转换

rmb大写转换

rmb大写转换
1.常用人民币大写:
零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、圆(元)、角、分、零、整(正)
2.常用货币符号:
人民币符号(RMB):¥;美元符号(USD):$;欧元符号(EUR):€;英镑符号(GBP):£;(货币符号可直接按鼠标选中后复制使用)
3.数字大小写-使用说明:
a、汉字大写金额数字标准写法:壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整(正)等字样,不得用一、二(两)、三、四、五、六、七、
八、九、十、廿、毛、另(或0)填写,不得简写汉字。

b、中文数字大写金额以「元」结尾的在最后应写「整」、「正」结尾,在角、分结尾可以不写。

c、大写金额数字前应标明“人民币”字样,大写金额数字应紧接“人民币”字样填写,不得留有空白。

d、阿拉伯数字小写金额数字中有“0”时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。

e、例如:¥708000.63应写成人民币柒拾万捌仟元零
陆角叁分或写成人民币柒拾万零捌仟元陆角叁分。

excel金额转换大写的函数

excel金额转换大写的函数

excel金额转换大写的函数标题:Excel中使用函数实现金额数字转换为大写汉字的方法在日常办公和财务管理中,我们经常需要将阿拉伯数字形式的金额转换为大写汉字,以便于财务凭证、发票等正式文件的填写。

Microsoft Excel 提供了一项强大的功能,能够帮助用户自动完成这一转换过程。

本文主要介绍如何在Excel中运用函数实现金额数字转换为大写。

---**一、函数名称及用途**在Excel中,用于将数字金额转换为中文大写的内置函数是“TEXT”函数,结合特定的格式代码“[>=$99995]0,"元"万";[>99]0,"元";0"元"",可以轻松实现这一功能。

**二、函数语法**`=TEXT(数值, "格式代码")`这里的“数值”是指你需要转换的金额单元格,例如A1;“格式代码”即上述的特殊代码,表示按照人民币的大写格式进行转换。

**三、具体应用**假设A1单元格存储了我们需要转换的数字金额,那么在B1单元格输入以下公式:`=TEXT(A1, "[>=$99995]0,\"元\"万\";[>99]0,\"元\";0\"元\"")`此函数的工作原理是,当金额大于等于10000时,会以“元”和“万”为单位进行转换,如123456元会被转换为“十二万三千四百五十六元”。

对于不足万元的金额,也会正确转换为相应的汉字大写金额。

**四、注意事项**1. 此函数仅适用于正数金额,如果涉及到负数或零的处理,请根据实际情况进行调整。

2. 在实际应用中,可能需要根据不同的金额层级(如亿元、千万元)进一步细化格式代码。

3. 转换结果为文本格式,若需参与计算,需先转换回数值格式。

通过熟练掌握并运用Excel的TEXT函数,我们可以大大提高数据处理效率,确保金额信息准确无误地以符合规范的大写形式呈现。

大小写金额转换公式

大小写金额转换公式

大小写金额转换公式
大小写金额转换公式是一种将数字金额转换为中文大写金额的方法。

通过这种转换,我们可以更直观地表达金额的大小,并且在书写财务文件或者进行口头交流时更加方便。

这个转换公式是非常简单的,只需要按照一定的规则将数字金额转换为中文大写金额即可。

下面是一个示例,以便更好地理解这个转换过程:
假设我们要将数字金额100.50转换为中文大写金额。

首先,我们需要将小数部分转换为中文大写表示。

小数部分50可以转换为“五角”,那么整个小数部分可以表示为“五角”。

接下来,我们需要将整数部分转换为中文大写表示。

整数部分100可以转换为“壹佰”。

最后,将整数部分和小数部分连接起来,就可以得到最终的中文大写金额表示,即“壹佰元五角”。

通过这个示例,我们可以看出转换的规则:将整数部分每四位一组进行转换,每组之间加上对应的单位(如“亿”、“万”、“元”等);将小数部分转换为对应的单位(如“角”、“分”等)并与整数部分连接起来。

除了上述示例之外,还有一些特殊情况需要注意。

例如,当整数部分为0时,需要特殊表示为“零元”而不是“壹佰元”;当小数部分为0时,可以省略小数部分的表示,只保留整数部分的表示。

在实际应用中,我们可以根据具体的需求和规范来进行金额转换。

可以编写相应的程序或者使用现成的转换工具来实现这个功能。

大小写金额转换公式是一种非常实用的工具,可以将数字金额转换为中文大写金额,方便我们更好地表达和理解金额的大小。

通过掌握转换规则和方法,我们可以在财务管理和日常交流中更加准确地使用金额表示。

大写 转换

大写 转换

大写转换中文大写数字历史渊源大写数字的使用始于明朝。

朱元璋因为当时的一件重大贪污案“郭桓案”而发布法令,其中明确要求记账的数字必须由“一、二、三、四、五、六、七、八、九、十、百、千”改为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰(陌)、仟(阡)”等复杂的汉字,用以增加涂改帐册的难度。

后来“陌”和“阡”被改写成“佰、仟”,并一直使用到现在。

大写数字注释:中文大写金额数字要用正楷或行书填写,如一(一)、二(二)、三、四(四)、五(五)、六(六)、七、八、九、十、百、一千、一万(一万)、一亿、元、角、分。

不使用一、二(二)、三、四、五、六、七、八、九、十、读、发、另一个(或0),不自制简化字。

如果在金额数字的书写中使用了繁体字,如二、六、一亿、万、圆等,也应接受。

一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。

大写金额数字有"分"的,"分"后面不写"整"(或"正")字。

二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。

三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。

大写金额数字前未印"人民币"字样的,应加填"人民币"三字。

在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。

四、阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。

excel 中文大写 函数

excel 中文大写 函数

excel 中文大写函数
摘要:
一、Excel 简介
二、Excel 中的中文大写数字转换函数
1.函数名称:`=CHINESE(数字)`
2.函数作用:将阿拉伯数字转换为中文大写数字
3.函数语法:`=CHINESE(数字)`
三、函数应用实例
1.在Excel 单元格中输入数字
2.使用`=CHINESE()`函数进行转换
3.显示结果
四、总结
正文:
Excel 是一款广泛应用于数据处理和分析的电子表格软件。

它提供了丰富的函数库,可以帮助用户快速完成各种复杂计算。

在本文中,我们将介绍一个实用的中文大写数字转换函数,以便您在Excel 中轻松实现中英文数字的转换。

在Excel 中,有一个专门用于将阿拉伯数字转换为中文大写数字的函数,名为`=CHINESE(数字)`。

该函数接受一个数字作为参数,并返回相应的中文大写数字。

例如,输入`=CHINESE(123)`,单元格中会显示“壹佰贰拾叁”。

要使用这个函数,您只需在Excel 单元格中输入数字,然后在数字前加上
`=CHINESE()`函数。

例如,在A1 单元格中输入`=CHINESE(123)`,则A1 单元格将显示“壹佰贰拾叁”。

总结一下,通过使用Excel 中的`=CHINESE()`函数,您可以轻松地将阿拉伯数字转换为中文大写数字。

这对于需要进行中英文数字转换的场景非常实用。

VB-金额大小写转换(两种方法)

VB-金额大小写转换(两种方法)

VB 金额‎大小写转换‎(两种方法‎)VB 金‎额大小写转‎换(两种方‎法) ‎‎‎' 本模‎块生成汉字‎大写的金额‎'Op‎t ion ‎E xpli‎c it'‎名称:‎C Ch'‎得到一位‎数字 N1‎的汉字大‎写' 0‎返回 &‎q uot;‎&quot‎;Fun‎c tion‎CCh(‎N1)As‎Stri‎n gSe‎l ect ‎C ase ‎N1Ca‎s e 0‎C Ch =‎&quo‎t;零&q‎u ot;‎C ase ‎1CCh‎= &q‎u ot;壹‎&quot‎;Cas‎e 2C‎C h = ‎&quot‎;贰&qu‎o t;C‎a se 3‎CCh ‎= &qu‎o t;叁&‎q uot;‎Case‎4CC‎h = &‎q uot;‎肆&quo‎t;Ca‎s e 5‎C Ch =‎&quo‎t;伍&q‎u ot;‎C ase ‎6CCh‎= &q‎u ot;陆‎&quot‎;Cas‎e 7C‎C h = ‎&quot‎;柒&qu‎o t;C‎a se 8‎CCh ‎= &qu‎o t;捌&‎q uot;‎Case‎9CC‎h = &‎q uot;‎玖&quo‎t;En‎d Sel‎e ctE‎n d Fu‎n ctio‎n '()‎F unct‎i on‎'名称:‎C hMon‎e y' ‎得到数字‎N1 的汉‎字大写'‎最大为‎千万位'‎O 返回‎&quo‎t;&qu‎o t;P‎u blic‎Func‎t ion ‎C hMon‎e y(N1‎)As S‎t ring‎Dim ‎t Mone‎y As ‎S trin‎gDim‎lMon‎e y As‎Stri‎n gDi‎m tn ‎'小数位置‎Dim ‎S T1 A‎s Str‎i ngD‎i m T1‎As S‎t ring‎Dim ‎s1 As‎Stri‎n g'临时‎S TRIN‎G小数部‎分Dim‎s2 A‎s Str‎i ng '‎1000 ‎以内Di‎m s3 ‎A s St‎r ing ‎'1000‎0‎I f N1‎= 0 ‎T hen‎C hMon‎e y = ‎&quot‎; &qu‎o t;E‎x it F‎u ncti‎o nEn‎d If‎I f N1‎&lt;‎0 Th‎e nCh‎M oney‎= &q‎u ot;负‎&quot‎;+ Ch‎M oney‎(Abs(‎N1)) ‎E xit ‎F unct‎i onE‎n d If‎tMon‎e y = ‎T rim(‎S tr(N‎1))t‎n = I‎n Str(‎t Mone‎y, &q‎u ot;.‎&quot‎;)'小数‎位置s1‎= &q‎u ot;&‎q uot;‎If t‎n &lt‎;&gt;‎0 Th‎e nST‎1 = R‎i ght(‎t Mone‎y, Le‎n(tMo‎n ey) ‎- tn)‎If S‎T1 &l‎t;&gt‎; &qu‎o t;&q‎u ot; ‎T hen‎T1 = ‎L eft(‎S T1, ‎1)ST‎1 = R‎i ght(‎S T1, ‎L en(S‎T1) -‎1)I‎f T1 ‎&lt;&‎g t; &‎q uot;‎0&quo‎t; Th‎e ns1‎= s1‎+ CC‎h(Val‎(T1))‎+ &q‎u ot;角‎&quot‎;End‎IfI‎f ST1‎&lt;‎&gt; ‎&quot‎;&quo‎t;The‎nT1 ‎= Lef‎t(ST1‎, 1)‎s1 = ‎s1 + ‎C Ch(V‎a l(T1‎)) + ‎&quot‎;分&qu‎o t;E‎n d If‎End ‎I fST‎1 = L‎e ft(t‎M oney‎, tn ‎- 1)‎E lse‎S T1 =‎tMon‎e yEn‎d If‎s2 =‎&quo‎t;&qu‎o t;I‎f ST1‎&lt;‎&gt; ‎&quot‎;&quo‎t; Th‎e nT1‎= Ri‎g ht(S‎T1, 1‎)ST1‎= Le‎f t(ST‎1, Le‎n(ST1‎) - 1‎)s2 ‎= CCh‎(Val(‎T1)) ‎+ s2‎E nd I‎fIf‎ST1 ‎&lt;&‎g t; &‎q uot;‎&quot‎;Then‎T1 =‎Righ‎t(ST1‎, 1)‎S T1 =‎Left‎(ST1,‎Len(‎S T1) ‎- 1)‎I f T1‎&lt;‎&gt; ‎&quot‎;0&qu‎o t; T‎h ens‎2 = C‎C h(Va‎l(T1)‎) + &‎q uot;‎拾&quo‎t;+ s‎2Els‎eIf ‎L eft(‎s2, 1‎) &lt‎;&gt;‎&quot‎;零&qu‎o t; T‎h en s‎2 = &‎q uot;‎零&quo‎t; + ‎s2 En‎d If‎E nd I‎fIf‎ST1 ‎&lt;&‎g t; &‎q uot;‎&quot‎;Then‎T1 =‎Righ‎t(ST1‎, 1)‎S T1 =‎Left‎(ST1,‎Len(‎S T1) ‎- 1)‎I f T1‎&lt;‎&gt; ‎&quot‎;0&qu‎o t; T‎h ens‎2 = C‎C h(Va‎l(T1)‎) + &‎q uot;‎佰&quo‎t;+ s‎2Els‎eIf ‎L eft(‎s2, 1‎) &lt‎;&gt;‎&quot‎;零&qu‎o t; T‎h en s‎2 = &‎q uot;‎零&quo‎t; + ‎s2 En‎d If‎E nd I‎fIf‎ST1 ‎&lt;&‎g t; &‎q uot;‎&quot‎;Then‎T1 =‎Righ‎t(ST1‎, 1)‎S T1 =‎Left‎(ST1,‎Len(‎S T1) ‎- 1)‎I f T1‎&lt;‎&gt; ‎&quot‎;0&qu‎o t; T‎h ens‎2 = C‎C h(Va‎l(T1)‎) + &‎q uot;‎仟&quo‎t;+ s‎2Els‎eIf ‎L eft(‎s2, 1‎) &lt‎;&gt;‎&quot‎;零&qu‎o t; T‎h en s‎2 = &‎q uot;‎零&quo‎t; + ‎s2 En‎d If‎E nd I‎fs3‎= &q‎u ot;&‎q uot;‎If S‎T1 &l‎t;&gt‎; &qu‎o t;&q‎u ot; ‎T hen‎T1 = ‎R ight‎(ST1,‎1)S‎T1 = ‎L eft(‎S T1, ‎L en(S‎T1) -‎1)s‎3 = C‎C h(Va‎l(T1)‎) + s‎3End‎If‎If S‎T1 &l‎t;&gt‎; &qu‎o t;&q‎u ot;T‎h enT‎1 = R‎i ght(‎S T1, ‎1)ST‎1 = L‎e ft(S‎T1, L‎e n(ST‎1) - ‎1)If‎T1 &‎l t;&g‎t; &q‎u ot;0‎&quot‎; The‎ns3 ‎= CCh‎(Val(‎T1)) ‎+ &qu‎o t;拾&‎q uot;‎+ s3‎E lse‎I f Le‎f t(s3‎, 1) ‎&lt;&‎g t;&q‎u ot;零‎&quot‎; The‎n s3 ‎= &qu‎o t;零&‎q uot;‎+ s3‎End ‎I fEn‎d If‎If S‎T1 &l‎t;&gt‎; &qu‎o t;&q‎u ot;T‎h enT‎1 = R‎i ght(‎S T1, ‎1)ST‎1 = L‎e ft(S‎T1, L‎e n(ST‎1) - ‎1)If‎T1 &‎l t;&g‎t; &q‎u ot;0‎&quot‎; The‎ns3 ‎= CCh‎(Val(‎T1)) ‎+ &qu‎o t;佰&‎q uot;‎+ s3‎E lse‎I f Le‎f t(s3‎, 1) ‎&lt;&‎g t;&q‎u ot;零‎&quot‎; The‎n s3 ‎= &qu‎o t;零&‎q uot;‎+ s3‎End ‎I fEn‎d If‎If S‎T1 &l‎t;&gt‎; &qu‎o t;&q‎u ot;T‎h enT‎1 = R‎i ght(‎S T1, ‎1)ST‎1 = L‎e ft(S‎T1, L‎e n(ST‎1) - ‎1)If‎T1 &‎l t;&g‎t; &q‎u ot;0‎&quot‎; The‎ns3 ‎= CCh‎(Val(‎T1)) ‎+ &qu‎o t;仟&‎q uot;‎+ s3‎E nd I‎fEnd‎IfI‎f Rig‎h t(s2‎, 1) ‎=&quo‎t;零&q‎u ot; ‎T hen ‎s2 = ‎L eft(‎s2, L‎e n(s2‎) - 1‎)If‎Len(‎s3) &‎g t;0 ‎T hen‎If R‎i ght(‎s3, 1‎) =&q‎u ot;零‎&quot‎; The‎n s3 ‎= Lef‎t(s3,‎Len(‎s3) -‎1)s‎3 = s‎3 &am‎p; &q‎u ot;万‎&quot‎;End‎If‎C hMon‎e y = ‎I If(s‎3 &am‎p; s2‎= &q‎u ot;&‎q uot;‎, s1,‎s3 &‎a mp; ‎s2 &a‎m p;&q‎u ot;元‎整&quo‎t; &a‎m p; s‎1)En‎d Fun‎c tion‎简单明‎了型Fu‎n ctio‎n RMB‎C hine‎s e(By‎V alRm‎b As ‎D oubl‎e)As ‎S trin‎gOn ‎E rror‎Resu‎m e Ne‎x tDi‎m Rmb‎e xp A‎s Str‎i ng, ‎R mbda‎A s St‎r ing,‎Expd‎a As S‎t ring‎, Len‎t As I‎n tege‎r,Nt‎y pAs ‎I nteg‎e r, I‎c ntAs‎Inte‎g er, ‎i As I‎n tege‎r, Tr‎m bAs ‎S trin‎gRm‎b = F‎o rmat‎(Rmb,‎&quo‎t;###‎0.00&‎q uot;‎)If ‎R mb &‎g t; 9‎99999‎99999‎9.99 ‎T hen‎R MBCh‎i nese‎= &q‎u ot;需‎转换的金额‎整数长度超‎过了12位‎!&quo‎t;Ex‎i t Fu‎n ctio‎nEnd‎If‎R mbex‎p = &‎q uot;‎分角元拾佰‎仟万拾佰仟‎亿拾佰仟&‎q uot;‎Rmbd‎a = &‎q uot;‎零壹贰叁肆‎伍陆柒捌玖‎&quot‎;Nty‎p = 0‎Trmb‎= Re‎p lace‎(CStr‎(Form‎a t(Rm‎b,&qu‎o t;0.‎00&qu‎o t;))‎, &qu‎o t;.&‎q uot;‎, &qu‎o t;&q‎u ot;)‎If ‎L eft(‎T rmb,‎1) = ‎&quot‎;-&qu‎o t; T‎h enT‎r mb =‎Mid(‎T rmb,‎2)N‎t yp =‎1En‎d If‎Expd‎a = &‎q uot;‎&quot‎;Icn‎t = L‎e n(Tr‎m b)‎F or i‎= 1 ‎T o Ic‎n tEx‎p da =‎Mid(‎R mbda‎, Val‎(Mid(‎T rmb,‎Icnt‎- i ‎+ 1,1‎)) + ‎1, 1)‎+ II‎f(Mid‎(Rmbe‎x p, i‎,1) =‎&quo‎t;元&q‎u ot;,‎Mid(‎R mbex‎p, i,‎1) + ‎&quot‎; &qu‎o t;, ‎M id(R‎m bexp‎, i,1‎)) + ‎E xpda‎Next‎RMBC‎h ines‎e = I‎I f(Nt‎y p = ‎1,&qu‎o t;负&‎q uot;‎+ Ex‎p da, ‎E xpda‎)End‎Func‎t ion ‎‎。

财务金额的自动化大小写转换

财务金额的自动化大小写转换

财务金额的自动化大小写转换在与报销单类似的财务单据填写过程中,货币金额的小写和大写转化是一个很重要的环节,在手工处理时,不但输入时很繁琐,而且还往往会出现不符合财务上描述货币数字的情况。

在本例中,我们事先自定义一个函数,然后再利用自定义的函数来实现自动转换,具体的操作步骤如下:(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”是自定义函数名称,读者可以修改为其他字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档