面试数字转换

pjkimi 2008-03-20 08:19:49
比如外面输入1234输出一千二百三十四,(当然外面可以随便输入什么数字)
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haigou20 2008-03-27
  • 打赏
  • 举报
回复
研究研究
Y382904800 2008-03-20
  • 打赏
  • 举报
回复
上面的这个里面的数字大学可以改为:一,二,三,四.....
Y382904800 2008-03-20
  • 打赏
  • 举报
回复
哦,上次我也问了这个问题,在网上的朋友帮助下解决了,程序如下:
import   java.text.DecimalFormat;
import java.io.*;
import java.util.*;

public class ChineseCurrency{
public static void main(String[] args) {
try{
System.out.print("请输入数值:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String st=(String)br.readLine();
double number=Double.parseDouble(st);
System.out.println(toChineseCurrency(new Double(number)));
}catch(IOException e){}
}

public static String toChineseCurrency(Object o) {
if(o instanceof Number) {
String s =new DecimalFormat("#.00").format(o);
System.out.println(s);
s =s.replaceAll("\\.", "");
char[] digit ={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
String unit = "仟佰拾兆仟佰拾亿仟佰拾万仟佰拾元角分";
int l=unit.length();
StringBuffer sb=new StringBuffer(unit);
for(int i=s.length()-1;i>=0; i--)
sb=sb.insert(l-s.length()+i,digit[(s.charAt(i)-0x30)]);
s=sb.substring(l-s.length(),l+s.length());
s=s.replaceAll("零[拾佰仟]","零"). replaceAll("零{2,}","零").
replaceAll("零([兆万元])","$1").replaceAll("零[角分]","");
return s;
} else{
throw new NumberFormatException();
}
}
}



nihuajie05 2008-03-20
  • 打赏
  • 举报
回复
帖个网页给你....不好意思直接帖出来...怕给java_net 2000鄙视了

http://www.java2000.net/viewthread.jsp?tid=32
kingssq 2008-03-20
  • 打赏
  • 举报
回复

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class NumberOutput {

public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bfr = new BufferedReader(isr);
String input = bfr.readLine();
int number = 0;
try {
number = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("数字格式错误");
System.exit(1);
}
int[] intArr = new int[20];
String[] strArr = new String[20];
int i = 0;
while (number > 0) {
intArr[i] = number % 10;
i++;
number /= 10;
}

StringBuffer buf = new StringBuffer();
for (int j = intArr.length - 1; j >= 0; j--) {

if (intArr[j] != 0) {
buf.append(getChinese(intArr[j]));
buf.append(getPos(j));
}
}
System.out.println(buf);
}

public static String getChinese(int i) {
switch (i) {
case 0:
return "零";
case 1:
return "一";
case 2:
return "二";
case 3:
return "三";
case 4:
return "四";
case 5:
return "五";
case 6:
return "六";
case 7:
return "七";
case 8:
return "八";
case 9:
return "九";
default:
return "";
}
}

public static String getPos(int i) {
switch (i) {
case 0:
return "";
case 1:
return "十";
case 2:
return "百";
case 3:
return "千";
case 4:
return "万";
case 5:
return "十万";
case 6:
return "百万";
case 7:
return "千万";
case 8:
return "亿";
case 9:
return "十亿";
default:
return "";
}
}
}
此为我个人搜集整理的, 精选微软等公司,有关 数据结构和算法的面试100题[前40题], 此绝对值得你下载收藏。 网友yui评论,真是够多的了,从此,不用再看其它面试题.... 一句话,请享用。 其它资源,下载地址: 1.[最新答案V0.3版]微软等数据结构+算法面试100题[第21-40题答案] http://download.csdn.net/source/2832862 2.[第1题-60题汇总]微软等数据结构+算法面试100题 http://download.csdn.net/source/2826690 3.[答案V0.2版]精选微软数据结构+算法面试100题[前20题]--修正 http://download.csdn.net/source/2813890 //此份答案是针对最初的V0.1版本,进行的校正与修正。 4.[答案V0.1版]精选微软数据结构+算法面试100题[前25题] http://download.csdn.net/source/2796735 5.[第二部分]精选微软等公司结构+算法面试100题[前41-60题]: http://download.csdn.net/source/2811703 6.[第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题] http://download.csdn.net/source/2778852 更多资源,下载地址: http://v_july_v.download.csdn.net/ //请继续期待,后续内容。 ------------------------------------------------------ 各位,若对以上100题任何一道,或对已上传的任何一题的答案, 有任何问题,请把你的思路、想法,回复到此帖子上, 微软等100题系列,永久维护地址(2010年11.26日): http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html -------July、2010年12月2日。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧