当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-23

    本文导语:  代码如下: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 = {"元","十","佰...

代码如下:

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 zhengList = new ArrayList();

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

}


    
 
 

您可能感兴趣的文章:

  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • Java中使用BigDecimal进行浮点数运算
  • java大数乘法的简单实现 浮点数乘法运算
  • 在Java中如何确定浮点数的精度,例如如何按要求确定小数点后面的数字个数???
  • java操作excel2007文档介绍及代码例子
  • 100分求java +VC6.0使用JNI的最简单例子
  • 学习design pattern,苦于没有java代码的例子,高手指点
  • java初学看什么例子比较好。
  • 大家能否推荐几个学习java的经典例子?
  • 如何用JAVA 将一个目录(包括子目录)下所有的文件名列出来呀,举个例子,d:java
  • java sdk中的例子中 *.java 用写字板打开不能自动换行,不知它用什么文本编辑器?
  • 哪有java例子下载?!!!
  • 能否给个在JSP页面中用JAVA画线条和矩形的简单例子,谢谢!
  • Java怎么调用存储过程?给个例子吧?
  • 在JAVA下如何实现用户输入数据,像C的SCANF一样,给个例子吧
  • 在Java中如何确定浮点数的精度,例如如何按要求确定小数点后面的数字个数??? iis7站长之家
  • 谁有完整的java在linux下读excel的完整下载包URL,例子,文档,很急!!!!多少分都行
  • 一个JAVA继承的问题(Thinking in JAVA里的一个例子)
  • 请问:哪里有java所有类包的介绍,用法,及所有类的用途,用法,例子等的书或帮助的下载?
  • 用java开发过的比较优秀的大型系统有哪些,望高手给举几个例子啊
  • 那里有利用JAXP 1.2处理XML(基于XML Schema,而不是DTD)的JAVA程序例子!!! 200分!!!
  • 请问谁有《java2核心技术 卷I:基础知识》书中例子的源代码?急需!!!
  • java 连接Redis的小例子
  • 如何实现在java界面程序中向数据库添加记录,能不能给你例子??
  • Java递归 遍历目录的小例子
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java实现人民币大小写转换方法分享
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3