金额转换 读入一个浮点数,将其转换为中文金额的大写形式,如123.45转化为壹佰贰拾叁元肆角伍分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我发给你,记得给分啊.public class Change{ void fun(String str) { String str1="零一二三四五六七八九"; String str2="千百十万千百十元角分"; double money=Double.parseDouble(str); long temp; long m[] =new long[10]; int i; boolean flag=false; int x=0; int y=9; money=money*100+0.5; temp=(long)money; m[0]=temp/1000000000; m[1]=(temp%1000000000)/100000000; m[2]=(temp%100000000)/10000000; m[3]=(temp%10000000)/1000000; m[4]=(temp%1000000)/100000; m[5]=(temp%100000)/10000; m[6]=(temp%10000)/1000; m[7]=(temp%1000)/100; m[8]=(temp%100)/10; m[9]=temp%10; for(i=0;i<10;i++) { if(m[i]!=0) { x=i; break; } } for(i=9;i>=0;i--) { if(m[i]!=0) { y=i; break; } } for(i=x;i<y+1;i++) { //System.out.print(m[i]); if(m[i]==0) { if(flag==false) { System.out.print(""+str1.charAt((int)m[i])); flag=true; } } else { System.out.print(""+str1.charAt((int)m[i])+str2.charAt(i)); flag=false; } } } public static void main(String args[]) { Change obj=new Change(); obj.fun(args[0]); }} 象你这样的把String str1="零一二三四五六七八九";改成String str1="零壹贰叁肆伍陆柒捌玖";这样就可以了. 还是转一下吧http://community.csdn.net/Expert/topic/5762/5762030.xml?temp=.1518671 还是有点问题 你输入 11111111很好 输入 10000000 就有问题了E:\JavaTest>java Change 10000000一千E:\JavaTest>java Change 11111111一千一百一十一万一千一百一十一元 java执行linux命令 java程序 JMenu里面菜单项的图标怎么去掉? 泛型中的类型擦除 通过什么工具可生成 hbm.xml 谢谢! 如何解决jar版本混乱的问题? 请问简单的iterator转换为arraylist的问题 谁有解决Canvas闪烁的经验? 关于super Applet的基本问题 谁看看这代码啊??/ 救急:jsp页面如何带参数跳转到action中?
public class Change{
void fun(String str)
{
String str1="零一二三四五六七八九";
String str2="千百十万千百十元角分";
double money=Double.parseDouble(str);
long temp;
long m[] =new long[10];
int i;
boolean flag=false;
int x=0;
int y=9;
money=money*100+0.5;
temp=(long)money;
m[0]=temp/1000000000;
m[1]=(temp%1000000000)/100000000;
m[2]=(temp%100000000)/10000000;
m[3]=(temp%10000000)/1000000;
m[4]=(temp%1000000)/100000;
m[5]=(temp%100000)/10000;
m[6]=(temp%10000)/1000;
m[7]=(temp%1000)/100;
m[8]=(temp%100)/10;
m[9]=temp%10;
for(i=0;i<10;i++)
{
if(m[i]!=0)
{
x=i;
break;
}
}
for(i=9;i>=0;i--)
{
if(m[i]!=0)
{
y=i;
break;
}
}
for(i=x;i<y+1;i++)
{
//System.out.print(m[i]);
if(m[i]==0)
{
if(flag==false)
{
System.out.print(""+str1.charAt((int)m[i]));
flag=true;
}
}
else
{
System.out.print(""+str1.charAt((int)m[i])+str2.charAt(i));
flag=false;
}
}
}
public static void main(String args[])
{
Change obj=new Change();
obj.fun(args[0]);
}}
http://community.csdn.net/Expert/topic/5762/5762030.xml?temp=.1518671
输入 10000000 就有问题了E:\JavaTest>java Change 10000000
一千
E:\JavaTest>java Change 11111111
一千一百一十一万一千一百一十一元