人民币转换


```java
package Test3;

import java.util.Scanner;

public class Tests0630 {
    public static void main(String[] args) {
        final String[] hanzi = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            double money = sc.nextDouble();
            StringBuffer buffer = new StringBuffer();
            int yi = (int)(money/100000000);
            int wan = (int)((money-yi*100000000)/10000);
            int ge = (int)(money-yi*100000000-wan*10000);
            System.out.print("人民币");
            if(yi != 0){
                buffer.append(change(yi)+"亿");
            }
            if(wan != 0){
                buffer.append(change(wan)+"万");
            }
            if(ge != 0){
                buffer.append(change(ge)+"元");
            }
            int xiaoshu=(int)((money-yi*100000000-wan*10000-ge+0.001)*100);
            int jiao = xiaoshu/10;
            int fen = xiaoshu%10;
            if (jiao!=0&&fen!=0){
                buffer.append(hanzi[jiao]+"角"+hanzi[fen]+"分");
            }else if (jiao!=0&&fen==0){
                buffer.append(hanzi[jiao]+"角");
            }else if (jiao==0&&fen!=0){
                buffer.append(hanzi[fen]+"分");
            }else if (jiao==0&&fen==0){
                buffer.append("整");
            }
            String string = buffer.toString();
            System.out.println(string);
        }
        sc.close();
    }

    private static String change(int a) {
        final String[] hanzi = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };
        int qian = a/1000;
        int bai = (a-qian*1000)/100;
        int shi = (a-qian*1000-bai*100)/10;
        int ge = a - qian * 1000 - bai * 100 - shi * 10;
        StringBuffer br = new StringBuffer();
        if (qian != 0){
            br.append(hanzi[qian]+"仟");
        }
        if (bai != 0){
            br.append(hanzi[bai]+"佰");
        }else if (qian!=0&&bai == 0&&(shi!=0||ge!=0)){
            br.append("零");
        }
        if (shi != 0&&shi!=1){
            br.append(hanzi[shi]+"拾");
        }else if (bai != 0 && ge != 0) {
            br.append("零");
        }
        if(shi==1&&qian==0&&bai==0){
            br.append("拾");
        }

        if (ge != 0) {
            br.append(hanzi[ge]);
        }
        String s=br.toString();
        return s;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值