大小写金额转换

本文介绍了一种将整数金额转换为中国传统大写金额表示的方法。通过具体代码实现,展示了如何将数字金额如123456元转换为“壹拾贰万叁仟肆佰伍拾陆圆整”。该方法考虑了零、壹到玖等汉字的正确使用及位置,适用于财务系统中金额的大写输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//整数金额转化成中国传统大写金额表示形式。
packagecom.mjm;

importjava.util.Scanner;

publicclassMoneyformat...{

/***//**
*
@paramargs
*/

publicstaticvoidmain(String[]args)...{
//TODOAuto-generatedmethodstub
System.out.println("请输入你要转化的金额...");
Scannerin
=newScanner(System.in);
intmoney=in.nextInt();
System.out.println(Moneyformat.change(money));
}


publicstaticStringchange(intn)...{
Stringstr
=Integer.toString(n);
Stringret
="";
intlen=str.length();
for(inti=0;i<str.length();i++)...{
intk=Integer.parseInt(str.substring(i,i+1));
if(ret.length()>=1
&&"佰仟萬".indexOf(ret.substring(ret.length()-1,ret
.length()))
==-1&&k==0)...{
ret
+=changeit(-1,len);
len
--;
}
else...{

if(i<str.length()-1)...{
if((k==0&&Integer
.parseInt(str.substring(i,i
+1+1))==0))...{
len
--;
continue;
}

}
elseif(i==str.length()-1&&k==0)...{
ret
+="圆整";
len
--;
continue;
}

ret
+=changeit(k,len);
len
--;
}


}

returnret;
}


privatestaticStringchangeit(intn,intlen)...{
//"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"
Stringret="";
switch(n)...{
case0:
//if(flag==true)break;
returnret="";
//break;
case1:
ret
="";
break;
case2:
ret
="";
break;
case3:
ret
="";
break;
case4:
ret
="";
break;
case5:
ret
="";
break;
case6:
ret
="";
break;
case7:
ret
="";
break;
case8:
ret
="";
break;
case9:
ret
="";
break;
}

//转换成拾,佰,仟,萬,亿
switch(len-1)...{
case0:
ret
+="圆整";
break;
case1:
case5:
ret
+="";
break;
case2:
case6:
ret
+="";
break;
case3:
case7:
ret
+="";
break;
case4:
ret
+="";
break;
case8:
ret
+="亿";
break;

}

returnret;

}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值