永发信息网

如何在jsp中将数据变成对应的壹贰叁肆伍陆

答案:2  悬赏:0  手机版
解决时间 2021-01-14 21:36
如何在jsp中将数据变成对应的壹贰叁肆伍陆
最佳答案
在页面上加入以下java代码就可以实现了
package com.heyang;

public class CnUpperCaser {
// 整数部分
private String integerPart;
// 小数部分
private String floatPart;

// 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态
private static final char[] cnNumbers={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};

// 供分级转化的数组,因为各个实例都要使用所以设为静态
private static final char[] series={'元','拾','百','仟','万','拾','百','仟','亿'};


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;
}
}


public String getCnString(){
// 因为是累加所以用StringBuffer
StringBuffer sb=new StringBuffer();

// 整数部分处理
for(int i=0;i0){
sb.append("点");
for(int i=0;i int number=getNumber(floatPart.charAt(i));

sb.append(cnNumbers[number]);
}
}

// 返回拼接好的字符串
return sb.toString();
}


private static int getNumber(char c){
String str=String.valueOf(c);
return Integer.parseInt(str);
}


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());
}
}
全部回答
变换单个数字比较容易,用hashMap放入键值对,键是数字,值是大写汉字,使用时get出来就可以。但要判断如1020要写成壹仟零贰拾,需要判断长度以便能确定仟佰之类的,就相对复杂些,网上应该有例子,你百度一下。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
锦祥商业街地址在什么地方,我要处理点事!
• 古代什么级别的官能坐八抬大轿?
人们赶海时还会做些什么有趣的事情
一辈子不长请珍惜年轻人会回答什么
网址中的@是什么意思?
挑选适宜居住楼层考虑哪些因素 楼层应该怎么
请问,全自动大棚与普通温室大棚在结构,功能
权键火龙液能退烧吗?
电路板厂曝光绿油丝印不良改善怎么写
oppo2016年平台累计分发多少亿
48比一个数的2.5倍多4.5,这个数是多少
更换输液时应如何核对
编程android导入一个java到src下,run之后怎
遇到那些脾气不好的男人怎么办
大连辣妹子的恶劣服务!
推荐资讯
一部微电影插曲是许多年以后是什么电影
夏季C30混凝土1天强度应达到多少
请问安哥拉和埃塞俄比亚去哪个国家好一点
青岛的怡情楼和青岛菜馆 哪一家比较好?想请
请问什么是对位聚苯? 这种材料适合做阀门填
如图,△ABC与下列哪一个三角形相似A.B.C.D.
秘制炒粉丝怎么做
我的脸偏圆,五官都很小。还是娃娃脸,笑起来
打算自己组装一个台式机,打游戏用 不知道这
自从我安装了另一个内存条后电脑声音就卡了这
帝国cms总是出现“没有搜索到相关内容”?
为什么佛教能得到迅速传播
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?