java实现浮点数转人民币的小例子

2016-02-19 10:51 19 1 收藏

下面是个超简单的java实现浮点数转人民币的小例子教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

代码如下:

import java.util.ArrayList;
import java.util.List;

public class RMBConverter2 implements IRMBConverter {

    private static final String [] RMB_NUMBER ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

    private static final String [] RMB_ATTR = {"元","十","佰","仟","万","十","百","仟","亿","十","佰","仟","万","十","佰","仟"};

    private static final String[] RMB_FEN = {"分","角"};

     
    @Override
    public String change2RMB(double counts) {
        StringBuffer rsBuf = new StringBuffer();

        if (counts == 0L) {
            return "零";
        }

        if (counts 0) 
            rsBuf.append("负");

        String zheng = strConverse(String.valueOf((long)counts));
        String xiao = strConverse(String.valueOf(Math.round((counts - (long)counts)*100)));

        char [] zhengArray = zheng.toCharArray();
        char [] xiaoArray = xiao.toCharArray();

        int zLength = zhengArray.length;
        int xLength = xiaoArray.length;

        ListString zhengList = new ArrayListString();

        for(int i =0; i zLength; i++) {
            int value = Integer.parseInt(""+zhengArray[i]);
            if (value == 0 && (i != 4) && (i != 8) && i != 0) {
                zhengList.add(RMB_NUMBER[value]);
            }else {
                zhengList.add(RMB_NUMBER[value]+
                     RMB_ATTR[i]);
            }
        }

        for(int i = zhengList.size()-1; i=0; i--) {
            rsBuf.append(zhengList.get(i));
        }

         
        for(int i =0; ixLength ;i++) {
            int value = Integer.parseInt(""+xiaoArray[i]);
            if (value 0 ) {
                rsBuf.append(RMB_NUMBER[value])
                 .append(RMB_FEN[xLength-i-1]);
            }
        }

        String rs = rsBuf.toString();
        rs = rs.replaceAll("零+", "零");
        rs = rs.replaceAll("零元", "元");
        rs = rs.replaceAll("零万", "万");
        rs = rs.replaceAll("零亿", "亿");
        rs = rs.replaceAll("亿万", "亿");
        return rs;
    }

     
    private String strConverse(String str) {
        StringBuffer rs = new StringBuffer();
        char [] strArray = str.toCharArray();
        for(int i = str.length()-1; i=0; i--) {
            rs.append(strArray[i]);
        }
        return rs.toString();
    }

     
    public static void main(String args []) {

        RMBConverter2 c2 = new RMBConverter2();
        System.out.println(c2.change2RMB(2001004.10));
        System.out.println(c2.change2RMB(2000000.10));
        System.out.println(c2.change2RMB(0L));
        System.out.println(c2.change2RMB(1121000010000000L));
    }

}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1595946.html

延伸阅读
定义 美元对人民币的汇率是指利用美元能够兑换的人民币的比率,按照最近的标准大约是1美元约等于6.8119元人民币元。但是美元对人民币汇率并不是一成不变的,汇率的变化和多种因素相关,这属于经济学的范畴了。 美元对人民币汇率下降 美元对人民币汇率下降简单的说明就是人民币的价值上升了,1美元只能兑换更少的人民币。美元对人...
定义 台币对人民币汇率是指利用日元能够换到的人民币的比率,按照最近的汇率兑换标准大约是1新台币大约能兑换0.2238人民币元。但是台币对人民币的汇率并不是一成不变的,汇率的变化和多种因素相关,这属于经济学的范畴了,如果想要更深层次的研究可以自己多看一下这方面的书。如果我们平时想去台湾玩的话,在去之前是一定要做好台币汇率的...
定义 欧元对人民币的汇率是指利用欧元能够换到的人民币的比率,按照最近的汇率兑换标准大约是1欧元大约能兑换7.7064人民币元。但是欧元对人民币的汇率并不是一成不变的,汇率的变化和多种因素相关,这属于经济学的范畴了,如果想要更深层次的研究可以自己多看一下这方面的书。 欧元对人民币汇率上升 欧元对人民币的汇率上升简单...
定义 日元对人民币的汇率是指利用日元能够换到的人民币的比率,按照最近的汇率兑换标准大约是1日本币大约能兑换0.0612人民币元。但是日元对人民币的汇率并不是一成不变的,汇率的变化和多种因素相关,这属于经济学的范畴了,如果想要更深层次的研究可以自己多看一下这方面的书。 日元对人民币汇率下降 日元对人民币的汇率下降简...
标签: 电脑入门
步骤/方法 要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的[dbnum2]G/通用格式改为[dbnum2] G/通用格式元来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为陆仟零伍拾.零玖圆。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数...

经验教程

873

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部