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

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

package com.gwt.client.test;

//caiquanhui-20120105

public class NumberToChinese {

private final static String[] a_strNumber = { "零", "壹", "贰", "叁", "肆",

"伍", "陆", "柒", "捌", "玖" };

private final static String[] a_strModify = { "", "拾", "佰", "仟", "万",

"拾", "佰", "仟", "亿", "拾", "佰", "仟" };

private final static String strSign = "负";// 实际上”+“号永远都不可能出现.

private final static String strDot = "点";

/**

* 功能:提取符号位. 说明:如果输入参数是"-13.3 ",调用该函数的返回值是"负"; 如果输入参数是"13.3 ",

* 调用该函数的返回值是" "(空值).

*

* @param pValue

*

*/

static private String getSign(String pValue) {

return pValue.indexOf("-") == 0 ? "负" : " ";

}

/**

* 功能:返回小数部分的汉字说明:如果输入数据是12.35,调用该函数返回值是叁伍

*

* @param pValue

* @return

*/

static private String getFraction(String pValue) {

String strFraction = null;// 用来保存小数部分的数字串

int intDotPos = pValue.indexOf(".");

if (intDotPos == -1)// 没有小数部分.

return " ";

strFraction = pValue.substring(intDotPos + 1).trim();

StringBuffer sbResult = new StringBuffer(strFraction.length());

// 开始翻译.

for (int i = 0; i < strFraction.length(); i++)

sbResult.append(a_strNumber[Integer.parseInt(String.valueOf(strFraction.charAt(i)))]);

return sbResult.toString();

}

/**

* 功能:返回整数部分的汉字. 如果输入参数是: 234.3,调用该函数的返回值是贰佰叁拾肆.

* @param pValue

* @return

*/

static private String getInteger(String pValue) {

String strInteger = null;// 用来保存整数部分数字串

int intDotPos = pValue.indexOf(".");// 记录". "所在位置

int intSignPos = pValue.indexOf("-");

if (intDotPos == -1)

intDotPos = pValue.length();

strInteger = pValue.substring(intSignPos + 1, intDotPos);// 取出整数部分

// 反转整数部分数据

strInteger = new StringBuffer(strInteger).reverse().toString().trim();

// -----------------------------------------------------------

// 开始翻译:

StringBuffer sbResult = new StringBuffer();

for (int i = 0; i < strInteger.length(); i++) {

sbResult.append(a_strModify[i]);

// System.out.println(String.valueOf(strInteger.charAt(i)));

//

System.out.println(a_strNumber[Integer.parseInt(String.valueOf(strInteger.charAt(i)))]);

sbResult.append(a_strNumber[Integer.parseInt(String.valueOf(strInteger.charAt(i)))]);

// System.out.println(a_strNumber[strInteger.charAt(i) - 48]);

// sbResult.append(a_strNumber[strInteger.charAt(i) - 48]);

}

sbResult = sbResult.reverse();

// 这个时候得到的结果不标准,需要调整.

// 203返回值是贰佰零拾三个正确答案是贰佰零三

// --------------------------------------------------------------------------

// 串调整.

replace(sbResult, "拾零", "拾");

replace(sbResult, "零拾", "零");

replace(sbResult, "零佰", "零");

replace(sbResult, "零仟", "零");

replace(sbResult, "零万", "万");

replace(sbResult, "零亿", "亿");

// replace(sbResult, "零拾", "零");

// replace(sbResult, "零佰", "零");

// replace(sbResult, "零仟", "零");

// replace(sbResult, "零万", "万");

// replace(sbResult, "零亿", "亿");

// 多个”零“调整处理

replace(sbResult, "零零", "零");

replace(sbResult, "零零零", "零");

replace(sbResult, "零零零零万", " ");// 这两句不能颠倒顺序

replace(sbResult, "零零零零", " ");

replace(sbResult, "壹拾亿", "拾亿");// 这样读起来更习惯.

replace(sbResult, "壹拾万", "拾万");

// --------------------------------------------------------------------------

if (sbResult.charAt(sbResult.length() - 1) == '零'

&& sbResult.length() != 1)// 删除个位上的零

sbResult.deleteCharAt(sbResult.length() - 1);

if (strInteger.length() == 2) {

replace(sbResult, "壹拾", "拾");

}

return sbResult.toString();// 将结果反转回来.

}

/**

* 功能:返回分割符号如果参数是"12.3 " 调用该函数的返回值是"点" 如果参数是"12 " 调用该函数的返回值是" "(空值)

*

* @param pValue

* @return

*/

static private String getDot(String pValue) {

return pValue.indexOf(".") != -1 ? "点" : " ";

}

// 数字到汉字

static public String NumberToChinese(double pValue) {

// 注意:不能用string.valueOf(pValue)处理,你自己试试就知道了.

java.text.DecimalFormat df = new java.text.DecimalFormat("#.######### ");

String pTemp = String.valueOf(df.format(pValue));

StringBuffer sbResult = new StringBuffer(getSign(pTemp)

+ getInteger(pTemp) + getDot(pTemp) + getFraction(pTemp));

return sbResult.toString();

}

/**

* 功能:用给定字符串pDest替换字符串pValue中的pSource

*

* @param pValue

* @param pSource

* @param pDest

* @return 经过替换处理的字符串例:pValue= xy ,pSource =x ,pDest = 测试调用改函数后pValue =测试y

*

* 说明一下:如果pvalue= xxx pSource = xx 处理结果是x

* ,这个结果可能与您平时看到的替换函数有点不一样,通常应该是pSource =xx.

*

*/

static private void replace(StringBuffer pValue, String pSource,

String pDest) {

if (pValue == null || pSource == null || pDest == null)

return;

int intPos = 0;// 记录pSource在pValue中的位置

do {

// ---------------------------------------------------

// intPos = pValue.toString().indexOf(pSource,intPos);

// ---------------------------------------------------

// ============================================

intPos = pValue.toString().indexOf(pSource);

// ============================================

if (intPos == -1)// 没有找到pSource.

break;

pValue.delete(intPos, intPos + pSource.length());

pValue.insert(intPos, pDest);

// ---------------------------------

// intPos += pSource.length();

// ---------------------------------

} while (true);

}

// 现在发现这样的处理没有什么实际意义。所以我就不写了.

public String ChineseToNumber(String pValue) {

return null;

}

public static void main(String[] args) {

// 为了方便您看程序运行结果,我将所有方法都设置成静态的

// 测试:

System.err.println(0.34);

System.err.println(NumberToChinese(0.34));

System.err.println(10);

System.err.println(NumberToChinese(10));

System.err.println(100);

System.err.println(NumberToChinese(100));

System.err.println(12);

System.err.println(NumberToChinese(12));

//

System.err.println(102);

System.err.println(NumberToChinese(102));

//

System.err.println(1022);

System.err.println(NumberToChinese(1022));

//

System.err.println(10009);

System.err.println(NumberToChinese(10009));

System.err.println(100000);

System.err.println(NumberToChinese(100000));

System.err.println(1000008);

System.err.println(NumberToChinese(1000008));

System.err.println(10000080);

System.err.println(NumberToChinese(10000080));

System.err.println(1000020300);

System.err.println(NumberToChinese(1000020300));

System.err.println(10.34);

System.err.println(NumberToChinese(10.34));

System.err.println(101.34);

System.err.println(NumberToChinese(101.34));

System.err.println(-101.34);

System.err.println(NumberToChinese(-101.34));

System.err.println(-100100010.33);

System.err.println(NumberToChinese(-100100010.33));

}

}

数字转为英文大写

'****************' Main Function *'**************** Function SpellNumber(ByVal MyNumber) Dim Yuan, Fen, Temp Dim DecimalPlace, Count ReDim Place(9) As String Application.Volatile True 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 Fen and set MyNumber to Yuan amount If DecimalPlace > 0 Then Fen = 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 Yuan = Temp & Place(Count) & Yuan If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Yuan Case "" Yuan = "No Yuan" Case "One" Yuan = "One Yuan" Case Else Yuan = Yuan & " Yuan" End Select Select Case Fen Case "" Fen = " and No Fen" Case "One" Fen = " and One Fen" Case Else Fen = " and " & Fen & " Fen" End Select

大写数字

壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元(圆)、角、分、零、整。 一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。 四、阿拉伯数字小写金额数字中有"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日,应写成零壹拾月零贰拾日。 七、票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。

excel数字金额自动变大写金额

excel 数字金额自动变大写金额 =IF(ROUND(A2,2)<0,"无效数值",IF(ROUND(A2,2)=0,"零 ",IF(ROUND(A2,2)<1,"",TEXT(INT(ROUND(A2,2)),"[dbnum2]")&"元 ")&IF(INT(ROUND(A2,2)*10)-INT(ROUND(A2,2))*10=0,IF(INT(ROUND(A2,2))*(INT(ROUND(A2,2)*100)-INT(RO UND(A2,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A2,2)*10)-INT(ROUND(A2,2))*10,"[dbnum2]")&"角 ")&IF((INT(ROUND(A2,2)*100)-INT(ROUND(A2,2)*10)*10)=0,"整 ",TEXT((INT(ROUND(A2,2)*100)-INT(ROUND(A2,2)*10)*10),"[dbnum2]")&"分"))) =IF(ROUND(A1,2)<0,"无效数值",IF(ROUND(A1,2)=0,"零 ",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元 ")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(RO UND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角 ")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整 ",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分"))) =SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[>0][dbnum2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(A1),2),"元[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"元整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整") =TEXT(A1*100,"人民币0拾0万0仟0佰0拾0元0角0分[dbnum2]") EXCEL如何用等差序列标上行号 如要标出1、5、9…… =IF(MOD((ROW()-1),4)=0,ROW(),"") 如要标2、4、6…… =IF(MOD((ROW()*1),2)=0,ROW(),"") A列数据,在B列输入公式 =if(countif(a:a,a1)>1,"数据已存在",""), 假设你把你的数据放在A列的,现在选中整个A列,进行以下操作: 1、选择菜单“格式-条件格式”,打开条件格式设置对话窗口 2、把第一个框拉下来选择“公式” 3、在第二个框内输入 =COUNTIF(A:A,A1)>1 4、点“格式”按钮,在“图案”标签中选红色 5、逐层确定,直到返回到工作表 现在你在A列中输入任何重复的内容,重复内容的单元格都会自动变成红底色,你就能及时发现重复的内容了。 =IF(A15>=60,IF(B15>=60,"合格","上机不合格"),IF(B15>=60,"笔试不合格","上机笔试不合格")) =if(iserror(vlookup(b2,SHEET!a:k,*,false)),"",vlookup(b2,SHEET!a:D,*,false))

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中如何将货币数值由数字金额自动转为中文大写金额 使用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单元小数点后第一位数,

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]")&"分")) 看看结果是不是出现了你想要的?应该有你需要的大写金额了 公式的由来:

会计阿拉伯数字写法字帖

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

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

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

大写数字规范

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

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

将数字转为中文金额的大写方式(Java版) 将数字转为中文金额的大写方式(Java版) /** * 程序目的: * 从命令行接收一个数,并将其转化为中文金额的大写方式 * 例如123.45 --> 壹佰贰拾叁元肆角伍分 * @author LovinChan * * 看到网上有很多这样的例子程序,不过觉得很不满意。有些程序我从命名上就觉得* 实在是不符合规范,程序里面的算法没有让人明白得很清楚的注释,读上去觉得有* 点难度,可读性不强。而且很多程序还存在不少bug,随便一测就测出来了。 * 所以本人还是决定重新写一下这个程序,并且尽量做到消除不必要的bug。这个程* 序我没有用什么很精妙的算法,不过用了一些Java类库中的类,像是正则表达式之类* 的东西。由于本人对算法不怎么在行,在做转换操作的时候用的是很笨的方法。望各位 * 大虾海涵,呵呵。 * * 程序的注释我尽量写得详细一点,如果觉得这个程序哪里有问题或者是哪里有改进的 * 地方欢迎随时跟我交流。 * 我的msn:egg.chenlw@https://www.360docs.net/doc/f45222127.html, * QQ:543669516(注上为什么加我就可以了) * 我的blog:https://www.360docs.net/doc/f45222127.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 应写成

大写数字

1.汉字大写数字要以正楷或行书字体书写,不得连笔写。 2.不允许使用未经国务院公布的简化字或谐音字。大写数字一律用“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整”等。不得用“毛”代替“角”、“另”代替“零”。 大写数字参考字体:壹贰叁肆伍陆柒捌玖拾佰仟万元角分 大小写金额的标准写法 1.小写金额的标准写法 (1)没有位数分割线的凭证账表上的标准写法: 1)阿拉伯金额数字前面应当书写货币币种符号或者货币名称简写,币种符号和阿拉伯数字之间不得留有空白。凡阿拉伯数字前写出币种符号的,数字后面不再写货币单位。 2)以元为单位的阿拉伯数字,除表示单价等情况外,一律写到角分;没有角分的角位和分位可写出“00”或者“―”;有角无分的,分位应当写出“0”,不得用“-”代替。 3)只有分位金额的,在元和角位上各写一个“0”字并在元与角之间点一个小数点,如“¥0.06”。 4)元以上每三位要空出半个阿拉伯数字的位置书写,如: ¥5 647 108.92。也可以三位一节用“分位号”分开,如:¥5,647,108.92。 (2)有数位分割线的凭证账表的标准写法: 1)对应固定的位数填写,不得错位。 2)只有分位金额的,在元和角位上均不得写“0”字。 3)只有角位或角分位金额的,在元位上不得写“0”字。

4)分位是“0”的,在分位上写“0”,角分位都是“0”的,在角分位上各写一个“0”字。 2.大写金额的标准写法 (1)大写金额要紧靠“人民币”三字书写,不得留有空白,如果大写数字前没有印好“人民币”字样的,应加填“人民币”三字。 (2)大写金额数字到“元”或“角”,在“元”或“角”后写“整”字;大写金额有“分”的,“分”后面不写“整”字。如:¥12,000.00应写为:人民币壹万贰仟元整;再如:¥48,651.80可写为:人民币肆万捌仟陆佰伍拾壹元捌角整,而¥486.56应写为:人民币肆佰捌拾陆元伍角陆分。 (3)分位是“0”可不写“零分”字样,如:¥4.60应写为:人民币肆元陆角整。 (4)阿拉伯金额数字中间有“0”时,汉字大写金额要写“零”字。如¥1,409.50应写为:人民币壹仟肆佰零玖元伍角整。 (5)阿拉伯金额数字元位是“0”的,或者数字中间连续有几个“0”的,元位也是“0”,但角位不是“0”时,汉字大写金额可以只写一个零字,也可以不写“零” 字。如:¥1,680.32,汉字大写金额应写为:人民币壹仟陆佰捌拾元零叁角贰分;或者写为:人民币壹仟陆佰捌拾元叁角贰分,又如:¥97,000.53,汉字大写金额应写为:人民币玖万柒仟元零伍角叁分,或者写成:人民币玖万柒仟元伍角叁分。 (6)阿拉拍金额数字角位是“0”,而分位不是“0”时,汉字大写金额“元”后面应写“零”字。如¥6﹐409.02,汉字大写金额应写成:人民币陆仟肆佰零玖元零贰分,又如¥325.04,汉字大写金额应写为:人民币叁佰贰拾伍元零肆分。 (7)阿拉伯金额数字最高是“1”的,汉字大写金额加写“壹”字,如¥15.80,汉字大写金额应写成:人民币壹拾伍元捌角整,¥135,800.00,汉字大写金额应写成:人民币壹拾叁万伍仟捌佰元整。 (8)在印有大写金额万、仟、佰、拾、元、角、分位置的凭证上书写大写金额时,金额前面如有空位,可划“×”注销,阿拉伯金额数字中间有几个“0”(含分位),汉字大写金额就是几个“零”字。又如¥100.50汉字大写金额应写成:人民币×万×仟壹佰零拾零元伍角零分。

将数字转换为大写

在EXCEL中将数字转换为人民币大写的三种方式 点击数:448 发布日期:2006-5-18 10:21:00 【评论】【打印】【编程爱好者论坛】【关闭】 Tag:VBA EXCEL 鉴于EXCEL本身提供将数字转换为大写表示的功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到的,懒得KEYIN进来了,反正也差不多了。 方法1,通过在EXCEL表格框(例如在“B1”单元)中直接输入以下公式: =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”中输入数字,就可看到效果。 方法2,通过VBA(宏)输入转换公式: 点击菜单“工具”->“宏”->“Visual Basic编辑器”,在编辑器窗口中,点击菜单“插入”->“模块”,在出现的窗口中输入以下内容: Function daxie(ByVal Num) ' 人民币中文大写函数 Application.Volatile True Place = "分角元拾佰仟万拾佰仟亿拾佰仟万" Dn = "壹贰叁肆伍陆柒捌玖" D1 = "整零元零零零万零零零亿零零零万" If Num < 0 Then FuHao = "(负)" Num = Format(Abs(Num), "###0.00") * 100 If Num > 999999999999999# Then: daxie = "数字超出转换范围!!": Exi t Function If Num = 0 Then: daxie = "零元零分": Exit Function NumA = Trim(Str(Num)) NumLen = Len(NumA) For J = NumLen To 1 Step -1 ' 数字转换过程

vb中将数字变成大写的

ByVal的含义是使用值传递,而不是地址传递 Function c(byval a as intger, b as intger)as intger c= a + b End Function 使用 print c(1,2) 回答者:bxworks - 五级2007-6-23 19:50 ByVal 按值传递(ByValue),意思是传入的形式参数改变了,但是不影响实际参数的数值 比如 在一个函数fn()有参数para,是byval的, 那么在函数里面如果有语句para=999, 有变量dim p as integer = 100; 那么调用 fn(p) 之后,p的值仍然是100,而不是999,函数里面的修改不影响外面的变量 与它对应的是ByRef ,按引用传递 这个时候,调用了函数之后,p的值就变成999了 用法,就是在参数声明的前面加上ByVal关键字就可以了 例如 ...( ByVal aaa as integer, ByVal bb as string) 常数定义,与dim差不多,但const定义的不能修改a的值,dim 定义的可以重新赋值 方法一private const a=5 方法二dim a a=5 vb str是什么意思 悬赏分:0 - 解决时间:2010-3-9 21:36 有下面一道题,请指教 在窗体上画两个文本框(其name属性分别为text1和text2)和一个命令按钮(其name属性为commond),然后编写如下事件过程:private sub commond1_click() x=0 Do While x<50 x=(x+2)(x+3) n=n+1 Loop text1.text=Str(n) text2.text=Str(x) End sub 程序运行后,单击命令按钮。在两个文本框中显示的值分别为________ A 1和0 B2和72 C 3和50 D 4和168 改选哪个呀,

相关文档
最新文档