发布于 2016-07-04 05:45:01 | 150 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Java设计模式,程序狗速度看过来!

Java程序设计语言

java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。


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; 

        List<String> zhengList = new ArrayList<String>(); 

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

} 



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务