源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-17 18:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java实现浮点数转人民币的小例子
[u]复制代码[/u] 代码如下:
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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部