关于货币大小写转换的问题

qijiahao 2004-09-14 01:48:20
请教高手
关于货币大小写转换的问题。
要求:
87098.78 转换为:捌万柒仟零玖拾捌园柒角捌分
854 转换为:捌佰伍拾肆园整

希望高手给我指点
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qijiahao 2004-09-14
  • 打赏
  • 举报
回复
多谢各个为兄弟了
Tomcat4 2004-09-14
  • 打赏
  • 举报
回复
我以前写了一个,后来不知道哪儿去了!
alaal 2004-09-14
  • 打赏
  • 举报
回复
这是FAQ中有的内容,希望你问问题前先查询一下,这样可以节省你不少分数

http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=69610
redlaputa 2004-09-14
  • 打赏
  • 举报
回复
public static String numtochinese(String input){
String s1="零壹贰叁肆伍陆柒捌玖";
String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";
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;
}

62,614

社区成员

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

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