wendy4的美拍 - 50个美拍短视频
wendy4的美拍
正在加载,请稍后...阿拉伯数字转换成大写中文
&&& private
String integerP
&&& private
String floatP
&&& private
static final Map ZerotoNineHt;
&&& private
static final Map thHuTenHt;
&&& private
static final Map wanYiZhaoHt;
static
ZerotoNineHt=new Hashtable();
ZerotoNineHt.put("0", "零");
ZerotoNineHt.put("1", "壹");
ZerotoNineHt.put("2", "贰");
ZerotoNineHt.put("3", "叁");
ZerotoNineHt.put("4", "肆");
ZerotoNineHt.put("5", "伍");
ZerotoNineHt.put("6", "陆");
ZerotoNineHt.put("7", "柒");
ZerotoNineHt.put("8", "捌");
ZerotoNineHt.put("9", "玖");
thHuTenHt=new Hashtable();
thHuTenHt.put(0, "");
thHuTenHt.put(1, "拾");
thHuTenHt.put(2, "佰");
thHuTenHt.put(3, "仟");
wanYiZhaoHt=new Hashtable();
wanYiZhaoHt.put(0, "");
wanYiZhaoHt.put(1, "?");
wanYiZhaoHt.put(2, "?");
wanYiZhaoHt.put(3, "兆");
&&& private
static String getWanYiZhao(int level)
&&& String
retval="";
&&&&&&&&&&&
retval+=wanYiZhaoHt.get(level % 4);
&&&&&&&&&&&
level-=3;
}while(level&3);
&&& public
ChineseUpperCaser(float number) throws NumberFormatException
this(String.valueOf(number));
&&& public
ChineseUpperCaser(double number) throws NumberFormatException
this(String.valueOf(number));
&&& public
ChineseUpperCaser(int number) throws NumberFormatException
this(String.valueOf(number));
&&& public
ChineseUpperCaser(long number) throws NumberFormatException
this(String.valueOf(number));
&&& public
ChineseUpperCaser(String number) throws NumberFormatException
String formalNumber=formatNumber(number);
// 辟分以给整数部分和小数部分赋值
String[] arr=formalNumber.split("[.]");
if(arr.length==2)
&&&&&&&&&&
// 有小数点
&&&&&&&&&&&
integerPart=arr[0];
&&&&&&&&&&&
floatPart=arr[1];
&&&&&&&&&&&
// 无小数点
&&&&&&&&&&&
integerPart=arr[0];
&&& public
String toString()
String retval="";
if(integerPart!=null)
&&&&&&&&&&&
retval+=parseIntegerPart();
if(floatPart!=null)
&&&&&&&&&&&
retval+=parseFloatPart();
&&&&&&&&&&&
retval+="整";
&&& private
String parseIntegerPart()
String retval="";
// 将整数部分逆序,因为需要反向读取
String reverseIntegerPart="";
for(int i=integerPart.length()-1;i&-1;i--)
&&&&&&&&&&&
reverseIntegerPart+=integerPart.charAt(i);
// 将整数部分按四位分段
Pattern p = pile("\d{4}",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(reverseIntegerPart);
StringBuffer sb = new StringBuffer();
boolean result = m.find();
while (result)
&&&&&&&&&&&
// 每找到四位放一个逗号
&&&&&&&&&&&
m.appendReplacement(sb, m.group(0) + ",");
&&&&&&&&&&&
result = m.find();
m.appendTail(sb);
// 按逗号劈分,得到四位分组数据的数组
arr=sb.toString().split(",");&&&&&&&
for(int i=arr.length-1;i&=0;i--)
&&&&&&&&&&&
String temp=arr[i];
&&&&&&&&&&&
// 阿拉伯数字转大写汉字加单位(千百十)
&&&&&&&&&&&
for(j=temp.length()-1;j&=0;j--)
&&&&&&&&&&&
&&&&&&&&&&&&&&&
str=String.valueOf(temp.charAt(j));
&&&&&&&&&&&&&&&
retval+=ZerotoNineHt.get(str)+thHuTenHt.get(j);
&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
retval=retval.replaceAll("(零)($)", "$2");// 零在末尾则去掉
&&&&&&&&&&&
// 加单位(兆亿万)
&&&&&&&&&&&
retval+=getWanYiZhao(i);
retval=retval.replaceAll("(零[仟佰拾])", "零");
retval=retval.replaceAll("(零{2,})", "零");
retval=retval.replaceAll("(零)($)", "$2");// 零在末尾则去掉
&&& private
String parseFloatPart()
String retval="点";
for(int i=0;i&=floatPart.length()-1;i++)
&&&&&&&&&&&
String
temp=String.valueOf(floatPart.charAt(i));&&&&&&&&&&&
&&&&&&&&&&&
retval+=ZerotoNineHt.get(temp);
}&&&&&&&
&&& private
String formatNumber(String number) throws
NumberFormatException
return (new
BigDecimal(number)).toString();&&&&&&&
&&& public
static void main(String[] args)
String[]
arr={"1.432","12.","123.454235","1234","12345","123456","1234567",
&&&&&&&&&&
"","","","","","4","45",
&&&&&&&&&&
"456","4567","45678","456789",
&&&&&&&&&&
"450780","0","00","000","0000","01","001","0001",
&&&&&&&&&&
"00001","10","100","1000","10000","101","1001","10001","100001","1.23","21.234","3234",
&&&&&&&&&&
"","543.6545"};
&&&&&&&&&&
for(String str:arr)
&&&&&&&&&&&
System.out.println("阿拉伯数字等于:"+str+" 大写汉字等于:"+new
ChineseUpperCaser(str));
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。