人民币转换

此博客展示了一段Java代码,实现将数字转换为中文金额的功能。代码中定义了数字和单位对应的字符串,对输入的数字进行格式检查和长度判断,通过循环将数字和单位拼接成中文金额,最后处理特殊情况并返回结果。

import java.util.*;

public class? NumToChinese{
? public String? numToChinese(String money){
??? String s1="零壹贰叁肆伍陆柒捌玖拾";
??? String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";
???
??? String temp="";
??? String result="";
???
??? if(money.length()==0||money==null)
????? return "请输入数字字符";
???
??? temp=money.trim();
??? float f;
??? try{
????? f=Float.parseFloat(temp);
??? }catch(NumberFormatException e){
????? return "输入数字";
??? }
???
??? int len=0;
??? if(temp.indexOf(".")==-1){
????? len=temp.length();
??? }else{
????? len=temp.indexOf(".");
??? }
???
??? if(len>s4.length()-3)
????? return? "输入的数字只能输入千亿";
???
??? int n1, n2;
??? String num="";
??? String unit="";
???
??? for(int i=0; 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 arg[]){
??? NumToChinese num=new NumToChinese();
??? System.out.println(num.numToChinese("45621237012.56"));
? }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值