我写了一个,但是有点问题,请大家帮忙。
package my;public class bb {
public static void main(String []args){
bb b = new bb();
System.out.println(b.numToUpper(1078304688));
}
public String numToUpper(int i) {
String s = "\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396";
String s1 = "\u3000\u62FE\u4F70\u4EDF\u4E07\u62FE\u4F70\u4EDF\u4EBF\u62FE\u4F70\u4EDF";
String s2 = Integer.toString(i);
String s3 = "";
int j = s2.length();
System.out.println(s);
System.out.println(s1);
for (int k = 0; k < j; k++) {
String s5 = s2.substring(k, k + 1);
String s8 = s.substring(Integer.parseInt(s5),
Integer.parseInt(s5) + 1);
//System.out.println(s8);
String s10 = s1.substring(j - k - 1, j - k);
System.out.println("a"+s10);
if (Integer.parseInt(s2.substring(k, j)) != 0) {
if (!s5.equals("0")) {
s3 = s3 + s8 + s10;
} else if ((k > 0) && !s2.substring(k - 1, k).equals("0")) {
s3 = s3 + s8;
}
} if (j == 1) {
String s6 = s2.substring(k, k + 1);
s3 = s.substring(Integer.parseInt(s6), Integer.parseInt(s6) +
1);
}
}
if (j>=6&&s2.substring(1,6).equals("00000")){
s3=s3+"万" ;
}
return s3;
}
}
package my;public class bb {
public static void main(String []args){
bb b = new bb();
System.out.println(b.numToUpper(1078304688));
}
public String numToUpper(int i) {
String s = "\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396";
String s1 = "\u3000\u62FE\u4F70\u4EDF\u4E07\u62FE\u4F70\u4EDF\u4EBF\u62FE\u4F70\u4EDF";
String s2 = Integer.toString(i);
String s3 = "";
int j = s2.length();
System.out.println(s);
System.out.println(s1);
for (int k = 0; k < j; k++) {
String s5 = s2.substring(k, k + 1);
String s8 = s.substring(Integer.parseInt(s5),
Integer.parseInt(s5) + 1);
//System.out.println(s8);
String s10 = s1.substring(j - k - 1, j - k);
System.out.println("a"+s10);
if (Integer.parseInt(s2.substring(k, j)) != 0) {
if (!s5.equals("0")) {
s3 = s3 + s8 + s10;
} else if ((k > 0) && !s2.substring(k - 1, k).equals("0")) {
s3 = s3 + s8;
}
} if (j == 1) {
String s6 = s2.substring(k, k + 1);
s3 = s.substring(Integer.parseInt(s6), Integer.parseInt(s6) +
1);
}
}
if (j>=6&&s2.substring(1,6).equals("00000")){
s3=s3+"万" ;
}
return s3;
}
}
解决方案 »
- 做软件开发这一行做java必须要掌握这么多的知识吗?
- 希望高手帮忙写一个正则表达式
- 进度条问题,一哥们施舍的分,最后的分咯
- 菜鸟问题,高手来解决!!
- 关于JAVA图像处理的问题
- 求救:安装了jdk,但是使用的时候提示找不到软件包Java.awt和Java.applet
- 过滤器怎么接收带参数的url
- 如何改变文本框(Label)的字体
- 获取系统时间 public Date getCurrentDate(String formatter)//formatter为格式如yyyy/mm/dd,如何写?
- spring mvc如何获取数据库数据?
- java时间监听
- 很奇怪的一道题,希望大家帮忙看看是怎么回事
public static void main(String []args){
bb b = new bb();
System.out.println(b.numToUpper(1078304688));
}
public String numToUpper(int i) {
String s = "\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396";
String s1 = "\u3000\u62FE\u4F70\u4EDF\u4E07\u62FE\u4F70\u4EDF\u4EBF\u62FE\u4F70\u4EDF";
String s2 = Integer.toString(i);
String s3 = "";
int j = s2.length();
System.out.println(s);
System.out.println(s1);
for (int k = 0; k < j; k++) {
String s5 = s2.substring(k, k + 1);
String s8 = s.substring(Integer.parseInt(s5),
Integer.parseInt(s5) + 1);
//System.out.println(s8);
String s10 = s1.substring(j - k - 1, j - k);
System.out.println("a"+s10);
if (Integer.parseInt(s2.substring(k, j)) != 0) {
if (!s5.equals("0")) {
s3 = s3 + s8 + s10;
} else if ((k > 0) && !s2.substring(k - 1, k).equals("0")) {
s3 = s3 + s10;
}
}if (j == 1) {
String s6 = s2.substring(k, k + 1);
s3 = s.substring(Integer.parseInt(s6), Integer.parseInt(s6) +
1);
}
}
if (j>=6&&s2.substring(1,6).equals("00000")){
s3=s3+"万" ;
}
return s3;
}
}
上面的应该符合你的要求。就是把
if (!s5.equals("0")) {
s3 = s3 + s8 + s10;
} else if ((k > 0) && !s2.substring(k - 1, k).equals("0")) {
s3 = s3 + s8;
}
改成:
if (!s5.equals("0")) {
s3 = s3 + s8 + s10;
} else if ((k > 0) && !s2.substring(k - 1, k).equals("0")) {
s3 = s3 + s10;
}
package p200609;public class p15 {
public static void main(String []args){
p15 p1=new p15();
System.out.print(p1.numToUpper(123456789));
}
public String numToUpper(int i){
String s="\u96F6\u58F9\u8D30\u53c1\u8086\u4F0D\u9646\u67D2\u634C\u7396";
String s1="\u3000\u62FE\u4F70\u4EDF\u4E07\u62FE\u4F70\u4EDF\u4EBF\u62FE\u4F70\u4EDF";
String s2=Integer.toString(i);
String s3="";
int j=s2.length();
for(int k=0;k<j;k++){
String s4=s2.substring(k,k+1);//s4取的是s2的每一位
String s5=s.substring(Integer.parseInt(s4),Integer.parseInt(s4)+1);//s5取的是大写的具体哪一位
String s6=s1.substring(j-k-1,j-k);//s6取的是是哪一位(拾,佰)
if(i!=0){
if(!s4.equals("0")){s3=s3+s5+s6;}
}
if(j==1){
String s7=s2.substring(k,k+1);
s3=s.substring(Integer.parseInt(s7),Integer.parseInt(s7)+1);}
}
if(j>=6&&s2.substring(1,6).equals("00000")&&(!s2.substring(1,j).equals("00000000"))){
s3=s3+"万";
}
return s3;
}
}