Java 作业 金额的中文大写方式

本文介绍了一个将输入的浮点数转换为中文大写金额表示的方法。该方法特别考虑了整数部分的特殊表示,连续零的简化处理,并且提供了具体的实现代码示例。

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

 

源自:allenle (个人网站) 标签:java

题意:

读入一个浮点数值,将其转化为中文金额的大写方式.

试验要求:

当金额为整数时,只表示整数部分,省略小数部分,并添加"整"字.

当金额中含有连续的0时,只需要一个"零"即可.

10的表示方式.例如110--壹佰一拾元整,10---一拾元整


  1import java.io.*;
  2class chineseMoney...{
  3    private String number[]=...{"","","","","","","","","",""};
  4    private String unit[]=...{"","","",""};
  5    private String small[]=...{"",""};
  6    //private String strNumber,strUnit,strAll;
  7
  8    //是否在number中
  9    private boolean IsInNumber(String strNumber)
10    ...{
11        boolean inNumber=false;
12        for (int i=0;i<9;i++)
13        ...{
14            if (strNumber.compareTo (number[i])==0) inNumber=true;
15        }

16        return inNumber;
17    }

18   
19   
20    private String SplitChineseNumber(int intUnit,String strInt)
21    ...{
22        int l=strInt.length ();
23        int j,k,zeorCountTemp=0;
24        String strUnit="",strNumber="",strAll="";
25       
26        //判断在千万到万位 是否全为0,是的话,不返回“万”,返回“”;
27        boolean temp=false;
28        for (k=0;k<l;k++)
29        ...{
30            String strTemp=strInt.substring(k,k+1);
31            int intTemp=Integer.parseInt(strTemp);
32           
33            if (intTemp!=0) temp=true;
34        }

35        if (temp==false)
36        ...{
37            if (intUnit==5)return "";
38        }

39       
40       
41        int checkK=0;
42        //正式开始转换
43        for (k=0;k<l;k++)
44        ...{
45            String strTemp=strInt.substring(k,k+1);
46            int intTemp=Integer.parseInt(strTemp);
47            strNumber= number[intTemp];
48           
49            //j 从
50            j=l-1-k;
51           
52            strUnit=unit[j];
53           
54           
55            //数值+单位
56            //如果数值=0,数值=“”
57            if (intTemp==0)
58            ...{
59                    //
60                    if (zeorCountTemp==0)
61                    ...{
62                        //单位=零
63                        strUnit=strUnit.replace('','');
64                        strUnit=strUnit.replace('','');
65                        strUnit=strUnit.replace('','');
66                    }

67                    else
68                    ...{
69                        //多零情况下,单位=“”
70                        strUnit=strUnit.replaceAll("","");
71                        strUnit=strUnit.replaceAll("","");
72                        strUnit=strUnit.replaceAll("","");   
73                    }

74                    zeorCountTemp++;           
75            }
       
76            checkK=k;
77            strAll+=strNumber+strUnit;
78        }

79       
80        return strAll;
81    }

82   
83    private String onlyInt(int intInt)
84    ...{
85        String strInt;
86        strInt=String.valueOf(intInt);
87        int l=strInt.length();
88       
89        String strAll="";
90        //按照四位 一分隔 来计算
91        if (l>8)//亿
92        ...{
93            strAll+=this.SplitChineseNumber(9,strInt.substring(0,l-8))+"亿";
94            strAll+=this.SplitChineseNumber(5,strInt.substring(l-8,l-4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值