package com.heyang;
/**
* 将10亿以内的阿拉伯数字转成汉字大写形式
* @author xizhenyin
*
*/
public class CnUpperCaser {
// 整数部分
private String integerPart;
// 小数部分
private String floatPart;
// 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态
private static final char[] cnNumbers={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
// 供分级转化的数组,因为各个实例都要使用所以设为静态
private static final char[] series={'元','拾','百','仟','万','拾','百','仟','亿'};
/**
* 构造函数,通过它将阿拉伯数字形式的字符串传入
* @param original
*/
public CnUpperCaser(String original){
// 成员变量初始化
integerPart="";
floatPart="";
if(original.contains(".")){
// 如果包含小数点
int dotIndex=original.indexOf(".");
integerPart=original.substring(0,dotIndex);
floatPart=original.substring(dotIndex+1);
}
else{
// 不包含小数点
integerPart=original;
}
}
/**
* 取得大写形式的字符串
* @return
*/
public String getCnString(){
// 因为是累加所以用StringBuffer
StringBuffer sb=new StringBuffer();
// 整数部分处理
for(int i=0;i<integerPart.length();i++){
int number=getNumber(integerPart.charAt(i));
sb.append(cnNumbers[number]);
sb.append(series[integerPart.length()-1-i]);
}
// 小数部分处理
if(floatPart.length()>0){
sb.append("点");
for(int i=0;i<floatPart.length();i++){
int number=getNumber(floatPart.charAt(i));
sb.append(cnNumbers[number]);
}
}
// 返回拼接好的字符串
return sb.toString();
}
/**
* 将字符形式的数字转化为整形数字
* 因为所有实例都要用到所以用静态修饰
* @param c
* @return
*/
private static int getNumber(char c){
String str=String.valueOf(c);
return Integer.parseInt(str);
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(new CnUpperCaser("123456789.12345").getCnString());
System.out.println(new CnUpperCaser("123456789").getCnString());
System.out.println(new CnUpperCaser(".123456789").getCnString());
System.out.println(new CnUpperCaser("0.1234").getCnString());
System.out.println(new CnUpperCaser("1").getCnString());
System.out.println(new CnUpperCaser("12").getCnString());
System.out.println(new CnUpperCaser("123").getCnString());
System.out.println(new CnUpperCaser("1234").getCnString());
System.out.println(new CnUpperCaser("12345").getCnString());
System.out.println(new CnUpperCaser("123456").getCnString());
System.out.println(new CnUpperCaser("1234567").getCnString());
System.out.println(new CnUpperCaser("12345678").getCnString());
System.out.println(new CnUpperCaser("123456789").getCnString());
}
}
② 一二三的大写怎么写
一二三的大写为壹、贰、叁。
中文金额数字大写分别为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、圆、角、分、零、整(正)”。
“柒”在当时作为“漆”和“桼”的异体字,后来出现分化,将“柒”定为数字“柒”的大写,“桼”并入“漆”定为“刷”的意思。
现代社会的今天,银行票证、流动支票、实用发票、合同协议、账目单据等各类经济文本必须标明大写数字,已经成为了“约定俗成”的规则,而且随着高科技的发展,金融机构又开发应用了电子支付密码、指纹智能验证、特定身份识别等更为复杂的防伪技术,从而进一步增强了国家财产和私人资金的保密性与安全性。
(2)壹叁源码扩展阅读:
明朝初年,一起涉及12名高官,6个部的左右侍郎的重大“郭桓贪污案”,就是利用空白账册大做假账,通过篡改数字大肆侵吞钱粮,累计高达2400多万石(dàn),这个数字几乎和当时全国秋粮实征总数相当。
朱元璋对此大为震怒,下令将郭桓等同案犯几万人斩首示众,同时制定了惩治经济犯罪的严格法令,并在财务管理上进行技术防范——把汉字中的数字改为了难以涂改的大写,
即:“一二三四五六七八九十百千”改为“壹贰叁肆伍陆柒捌玖拾佰阡”等(“阡”后来改为单人旁的“仟”),被称之为中国历史上金额数字大写的首创。
③ 高分求用VB做个小程序 求源码
帮你写了个宏,执行时,完全满足你的要求。
第三次改了一下,还有什么问题,欢迎提出:
SubZh()
DimS,iAsInteger,K(),EAsString,SwAsInteger,UAsString
d=Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖")
w=Array("","万","亿")
R=Range("A1").Value
IfInStr(R,".")<>0Then
U=Right(R,Len(R)-InStr(R,"."))
DoWhileLen(U)>2
U=CStr((Val(U)+5)10)
Loop
R=Int(R)
EndIf
IfNotIsNumeric(R)ThenExitSub
i=Len(Int(R))
i=i4
ReDimK(i)
Fori=UBound(K)ToLBound(K)+1Step-1
K(i)=Right(R,4)
E=T(K(i))+w(Sw)+E
Sw=Sw+1
R=Left(R,Len(R)-4)
Nexti
K(i)=R
IfK(i)<>""Then
E=T(K(i))+w(Sw)+E
EndIf
E=E+"元"
IfLen(U)=2Then
E=E+d(Val(Left(U,1)))+"角"+d(Val(Right(U,1)))+"分"
ElseIfLen(U)=1Then
E=E+d(Val(Left(U,1)))+"角"
Else
E=E+"整"
EndIf
Range("A2").Value=E
EndSub
FunctionT(A)AsString
d=Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖")
S=Array("","拾","百","千")
n=Len(A)
Fori=1Ton
T=d(Val(Mid(A,(n-i+1),1)))+S(i-1)+T
Nexti
EndFunction
④ 一二三的大写
一、二、三大写的写法分别是:壹、贰、叁。
追溯大写这种写法的由来,主要是朱元璋因为当时的一件重大贪污案“郭桓案”而发布法令,其中明确要求记账的数字进行整改。“一、二、三、四、五、六、七、八、九、十、百、千”整改为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟”等复杂的汉字,方法也一直沿用至今。
人民币大写的注意事项
1、中文大写金额数字到“元”为止的,在“元”之后,应写“整”(或“正”)字,在“角”之后,可以不写写“整”(或“正”)字。大写金额数字有“分”的,“分”后面不写“整”(或“正”)字。
2、中文大写金额数字前应标明“人民币”字样,大写金额数字有“分”的,“分”后面不写“整”(或“正”)字。
⑤ 现在分销系统怎么样
分销系统是当前信息时代下新一代的企业数据营销方式,帮助商家快速拓展线上分店并实现裂变式传播的推广效果,实现商家销量的快速增长。微商分销系统统的一个重要特点是分销商店铺无需囤货。分销商卖出的产品会由总部统一发出,分销商无需管理,只需做好分销和销售产品即可。
要看微商分销系统怎样好不好,主要看它功能是不是很丰富,是否社交和电商一体的,是否有很完善的电销体系
⑥ 提供一个JAVA程序,就是输入阿拉伯数字运行让他变成大写的汉字,比如:123变成壹贰叁之类
import java.io.*;
public class Test1 {
/**
* @param args
*/
public static void main(String[] args) {
//数据字典!
char c[]={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
//等待输入!
System.out.print("请输入一个阿拉伯数字: ");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//得到输入!
try {
String input=br.readLine();
for(int count=0;count<input.length();count++){
//转成数字
char temp=input.charAt(count);
switch (temp){
case '1':System.out.print(c[1]);break;case '2':System.out.print(c[2]);break;
case '3':System.out.print(c[3]);break;case '4':System.out.print(c[4]);break;
case '5':System.out.print(c[5]);break;case '6':System.out.print(c[6]);break;
case '9':System.out.print(c[9]);break;case '8':System.out.print(c[8]);break;
case '0':System.out.print(c[0]);break;default:break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
⑦ 人民币大写金额从1到10怎么写呢
人民币大写金额从1到10分别是壹、贰、叁、肆、伍、陆、柒、捌、玖、拾。
大写金额,即大写数字,是东亚地区特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
(7)壹叁源码扩展阅读:
大写规则
中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。
中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。
⑧ 一二三繁体字怎么写
一二三没有繁体字。只有大写,为“壹、贰、叁 ”。
壹:“一”的大写。常用于支票、银行票据等,以避免差错或涂改。
壹的哲学本义指:专一纯粹、专精。阐述一: 一者,谓专精也,用心一也,专于一境也。谓之不偏、不散、不杂、独不变也,道之用也。
贰是一个汉字,读作èr,本意是指副;也是“二”的大写形式,用来计数和记账; 还指变节,背叛。该文字在《周礼·乃酒正》和《礼记·曲礼》等文献均有记载。
叁是三的大写形式,一般用于钱财记账方面,如叁佰元整。
(8)壹叁源码扩展阅读:
壹的解释
1、同“一”(多用于壹生、壹圆等)
节以壹惠。——《礼记·表记》
君答壹拜。——《仪礼·士相见礼》
2、古书用字
一之与壹,二之与贰,三之与叁,其义皆同。——《容斋五笔》
3、表示数量、次数
如:壹再(一再。一次再次,再三);壹倡三叹(谓一人歌唱,三人应和);壹尊(一尊。谓共尊立一帝);壹适(一度贡举或推荐)
参考资料来源:网络-壹
参考资料来源:网络-贰
参考资料来源:网络-叁