import java.io.*;
class Text{public static String numtochinese(String input){
String s1="零壹贰叁肆伍陆柒捌玖";
String s2="仟佰拾亿仟佰拾万仟佰拾元";
String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";
String s3="元角分";
String temp="";
String result="";
//if (input==null) return "输入字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";
temp=input.trim();
float f;
try{
f=Float.parseFloat(temp);
}catch(Exception e){return "输入字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";}
int len=0;
if (temp.indexOf(".")==-1) len=temp.length();
else len=temp.indexOf(".");
if(len>s4.length()-3) return "输入字串最大只能精确到仟亿,小数点只能两位!";
int n1,n2=0;
String num="";
String unit="";
for(int i=0;i<temp.length();i++){
if(i>len+2)break;
if(i==len) continue;
n1=Integer.parseInt(String.valueOf(temp.charAt(i)));
num=s1.substring(n1,n1+1);
n1=len-i+2;
unit=s4.substring(n1,n1+1);
result=result.concat(num).concat(unit);
}
if ((len==temp.length())||(len==temp.length()-1)) result=result.concat("整");
if (len==temp.length()-2) result=result.concat("零分");
return result;
}
public static void main(String[] args) throws Exception
{InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("请输入数字后开转换");
String text=input.readLine();Text A=new Text();
String r=A.numtochinese(text);System.out.println(r);
}
}就是人民币小写边大写,程序可以运行,可是当你输入0时候,就会
出现零千零万等信息,,希望有高手指点,,在这程序上面,改下。。谢谢谢谢谢谢
class Text{public static String numtochinese(String input){
String s1="零壹贰叁肆伍陆柒捌玖";
String s2="仟佰拾亿仟佰拾万仟佰拾元";
String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";
String s3="元角分";
String temp="";
String result="";
//if (input==null) return "输入字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";
temp=input.trim();
float f;
try{
f=Float.parseFloat(temp);
}catch(Exception e){return "输入字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";}
int len=0;
if (temp.indexOf(".")==-1) len=temp.length();
else len=temp.indexOf(".");
if(len>s4.length()-3) return "输入字串最大只能精确到仟亿,小数点只能两位!";
int n1,n2=0;
String num="";
String unit="";
for(int i=0;i<temp.length();i++){
if(i>len+2)break;
if(i==len) continue;
n1=Integer.parseInt(String.valueOf(temp.charAt(i)));
num=s1.substring(n1,n1+1);
n1=len-i+2;
unit=s4.substring(n1,n1+1);
result=result.concat(num).concat(unit);
}
if ((len==temp.length())||(len==temp.length()-1)) result=result.concat("整");
if (len==temp.length()-2) result=result.concat("零分");
return result;
}
public static void main(String[] args) throws Exception
{InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("请输入数字后开转换");
String text=input.readLine();Text A=new Text();
String r=A.numtochinese(text);System.out.println(r);
}
}就是人民币小写边大写,程序可以运行,可是当你输入0时候,就会
出现零千零万等信息,,希望有高手指点,,在这程序上面,改下。。谢谢谢谢谢谢
一、最新大型新东方J2EE培训视频录像(新东方高级JAVA培训讲师 20G 共6DVD)
培训内容: 初级部分(280学时)+高级部分(400学时),共680学时。
初级部分(280学时)
1). JavaOO程序设计基础:J2sdk基础、Java 面向对象基础、Java API使用、数据结构及算法基础、Java高级类特性、异常处理;
2). J2SE平台程序设计:Java AWT图形界面程序开发,Swing图形程序设计,Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,高级I/O流和文件编程,多线程程序设计;
3). 项目开发:globle get 多线程下载系统
4). Java桌面系统项目开发:桌面项目,基于Socket的聊天室;数据库:SQL、ORACLE9i 数据库的管理基础;
5). Java Web应用编程:Java数据库编程:JDBC、JDBC-ODBC Java Web编程:JSP、Servlet、JavaBean、java应用编程服务器:Tomcat / … 集成开发环境(IDE):Jbuilder / Eclipse / … Java应用构建工具:Apache Ant / …;
6). 项目开发:移动公司计费账务管理系统
高级部分(400学时)
1). Linux初步:Linux基本操作,LINUX下的Java程序开发,Linux系统的简单管理;
2). 数据库深入编程:PL/SQL;数据库和数据库设计库程序设计;
3). Struts、spring、hibernate:高级Java Web应用开发:业界通用的MVC设计模式,Struts架构、应用程序国际化、Struts Taglib;
4). 项目开发:大唐任务管理系统;
5). J2ME程序设计:移动开发概述、J2ME界面程序设计、J2ME数据库程序设计、手机短信、多媒体短信(彩信)开发;
6). Java高级程序设计(J2EE):J2EE架构、EJB核心技术;J2EE主流开发工具JBuilder、应用服务器WebLogic ;Java和XML:XML, Web Service,异构系统整合、分布式应用;
7). 软件系统架构设计:UML与系统建模和设计、Rational Rose、软件工程和软件过程模型、版本控制;
8). 项目开发:中国移动电子运行维护系统;
二、Oracle培训录像
1.Oracle 9i DBA大型中文视频培训录像(全)(中国IT认证实验室 13.4G 共4DVD)
*1Z0-007 Introduction to Oracle9i SQL
*1Z0-031 Oracle9i DBA Fundamentals I
*1Z0-032 Oracle9i DBA Fundamentals II
*1Z0-033 Oracle9i Performance Tuning
另附全套PPT幻灯片培训讲稿。
全程标准Oracle大学授课环境,资深Oracle认证讲师、中国电信深圳培训中心数据库讲师主讲。具有多年的Oracle DBA教学经验,授课风格自成一体,逻辑清晰、层次分明,讲解深入浅出、信息量大,实用性强,短时间内把您培养成高级数据库专家。
2.Oracle 10G 数据库培训录像(中科院 共18讲)
三、项目经理快速培训
IT项目管理培训录像(项目经理提升必看)(共28集 Rmvb格式 1DVD)现在购买送
1.孙鑫 XML网页编程开发详解 (内容大小2G 1DVD)
2.孙鑫J2EE培训录像(共76讲 含源代码及PPT幻灯片课件 1DVD)
本视频侧重于J2EE框架机制原理,内容分为spring,struts,hibernate,powerdesign四个部分的讲解(Spring共23讲,详细讲解了spring的使用。Struts共13讲,Struts通过一个完整视例讲解全部流程,以及标签库。Hibernate共24讲,深入讲解了hibernate的机制。PowerDesigner共6讲,讲解数据库建模的步骤及其工具的使用。)
需要的速联系
Q Q: 3670989
MSN: [email protected]
else len=temp.indexOf(".");和if(len>s4.length()-3) return "输入字串最大只能精确到仟亿,小数点只能两位!"; 加上以下代码:int index = 0;
while (index < len - 1 && temp.charAt(index) == '0') {
index++;
}
temp = temp.substring(index);
len = len - index;
if (ling.equals("零"){
abc = abc.substring(2,abc.length())
}
差不多就是这个意思
import java.io.InputStreamReader;class Text {
public static String numtochinese(String input) {
String s1 = "零壹贰叁肆伍陆柒捌玖";
String s4 = "分角整元拾佰仟万拾佰仟亿拾佰仟";
String temp = input.trim();
String result = ""; try {
Float.parseFloat(temp); } catch (Exception e) {
return "输入字串不是数字串只能包括以下字符('0'~'9','.'),输入字串最大只能精确到仟亿,小数点只能两位!";
}
int len = 0;
if (temp.indexOf(".") == -1) {
len = temp.length();
} else {
len = temp.indexOf(".");
}
//===========以下是新增加的代码==============
int index = 0;
while (index < len - 1 && temp.charAt(index) == '0') {
index++;
}
temp = temp.substring(index);
len = len - index;
//===========以上是新增加的代码==============
if (len > s4.length() - 3) {
return "输入字串最大只能精确到仟亿,小数点只能两位!";
}
int n1 = 0;
String num = "";
String unit = "";
for (int i = 0; i < temp.length(); i++) {
if (i > len + 2) {
break;
} else if (i == len) {
continue;
}
n1 = Integer.parseInt(String.valueOf(temp.charAt(i)));
num = s1.substring(n1, n1 + 1);
n1 = len - i + 2;
unit = s4.substring(n1, n1 + 1);
result = result.concat(num).concat(unit);
} if ((len == temp.length()) || (len == temp.length() - 1)) {
result = result.concat("整");
} else if (len == temp.length() - 2) {
result = result.concat("零分");
} return result;
} public static void main(String[] args) throws Exception {
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
System.out.print("请输入数字后开转换:");
String text = input.readLine();
String r = numtochinese(text);
System.out.println(r);
}
}
测试结果:
请输入数字后开转换:000000000000000000000000
零元整
各种语言版本的,看看吧!
判断字符串格式的问题,正则表达式比较方便.
java是支持正则表达试的.
String num = "";
String unit = "";
boolean midZero = false;
for (int i = 0; i < temp.length(); i++) {
if (i > len + 2) {
break;
} else if (i == len) {
continue;
}
n1 = Integer.parseInt(String.valueOf(temp.charAt(i)));
if (n1 == 0) {
midZero = true;
continue;
}
num = s1.substring(n1, n1 + 1);
n1 = len - i + 2;
unit = s4.substring(n1, n1 + 1);
if (midZero == true) {
result = result.concat("零");
midZero = false;
}
result = result.concat(num).concat(unit);
}
测试结果:
请输入数字后开转换:30075023
叁仟零柒万伍仟零贰拾叁元整