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

沉入死海的泪

沉入死海的泪

2016-02-19 10:51

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

代码如下:

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));
    }

}

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
java实现浮点数转人民币的小例子

人民币金额转换例程

编程语言 网络编程
人民币金额转换例程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

人民币折情侣衣服视频教程 怎么用人民币折情侣套装

折纸衣服 手工折纸 人民币折纸 折纸教程
人民币折情侣衣服视频教程  怎么用人民币折情侣套装

人民币折爱心怎么折

人民币折纸 爱心折纸 折纸 折纸教程
人民币折爱心怎么折

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎么用人民币折520

人民币折纸 手工折纸 折纸教程 折纸 心形折纸
怎么用人民币折520

怎么用人民币折衣服

人民币折纸 手工折纸 折纸教程 折纸
怎么用人民币折衣服

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

android2.3.5 CDMA/EVDO拨号APN解决方案

android2.3.5 CDMA/EVDO拨号APN解决方案

如何让MAC笔记本的电池复位

如何让MAC笔记本的电池复位
下拉加载更多内容 ↓