国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

支票金額大寫轉換示例(金額大寫轉換器)

2019-11-26 15:42:25
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

import java.util.HashMap;
import java.util.Map;

public class FigureAndChinese2Util {

 // 緩存所有數字的
 private static Map<Character, Character> map = new HashMap<Character, Character>(
   10);
 static {
  map.put('1', '壹');
  map.put('2', '貳');
  map.put('3', '叁');
  map.put('4', '肆');
  map.put('5', '伍');
  map.put('6', '陸');
  map.put('7', '柒');
  map.put('8', '捌');
  map.put('9', '玖');
  map.put('0', '零');
 }
 static char[] mode = new char[] { '拾', '佰', '仟' };

 public static void m(String sb) {

  StringBuffer sbf = new StringBuffer();
  String[] sp = sb.split("http://.");
  if (sp.length == 2) {
   m0(sp[0], 0, sbf);
   sbf.append(m2(sp[1]));
  } else
   m0(sb, 0, sbf);
  sbf.append("整");
  System.out.println(sbf);
 }

 /***
  * 切割字符串
  *
  * @param sb
  */
 public static void m0(String sb, int type, StringBuffer sbf) {

  int len = sb.length();
  int b = 0;
  type++;
  if (len >= 4) {
   b = len - 4;
   sbf.insert(0, m1(sb.substring(b), type));
   m0(sb.substring(0, b), type, sbf);
  } else if (len > 0)
   sbf.insert(0, m1(sb, type));
  if ('零' == sbf.charAt(0))
   sbf.deleteCharAt(0);
 }

 /***
  * 處理
  *
  * @param sb
  */
 public static StringBuffer m1(String sb, int type) {

  StringBuffer sbf = new StringBuffer(sb);
  switch (type) {
  case 1:
   sbf.append("圓");
   break;
  case 2:
   sbf.append("萬");
   break;
  case 3:
   sbf.append("億");
   break;
  default:
   break;
  }
  // 開始賦值
  int b = 0;
  char t = 0;
  for (int i = sbf.length() - 2; i >= 0; i--) {
   t = sbf.charAt(i);
   sbf.setCharAt(i, map.get(t));
   if (i != 0)
    sbf.insert(i, mode[b]);
   b++;
  }
  for (int i = 0; i < sbf.length(); i++) {
   t = sbf.charAt(i);
   if (t == '零') {
    t = sbf.charAt(i + 1);
    if ('圓' != t && '萬' != t && '億' != t)
     sbf.deleteCharAt(i + 1);
    else
     sbf.deleteCharAt(i);
    if (i != 0)
     if (sbf.charAt(i - 1) == '零') {
      sbf.deleteCharAt(i - 1);
      i--;
     }
   }
  }
  if (sbf.length() == 1) {
   if ('圓' != sbf.charAt(0))
    sbf.setLength(0);
  }
  return sbf;
 }

 public static StringBuffer m2(String de) {

  if (de.length() > 2)
   de = de.substring(0, 2);
  de = de.replaceFirst("00", "");
  StringBuffer sb = new StringBuffer(de);
  if (sb.length() > 0) {
   if (sb.charAt(sb.length() - 1) == '0')
    sb.deleteCharAt(sb.length() - 1);
   sb.setCharAt(0, map.get(sb.charAt(0)));
   switch (sb.length()) {
   case 1:
    sb.append("角");
    break;
   case 2:
    sb.setCharAt(1, map.get(sb.charAt(1)));
    if (sb.charAt(0) != '零')
     sb.insert(1, '角');
    sb.append("分");
    break;
   default:
    break;
   }
  }
  return sb;
 }

 public static void main(String[] args) {

  String s = "4444444441.23";
  String s1 = "1";
  String s2 = "1000000000.01";
  String s3 = "101010002.11";
  m(s);
  m(s1);
  m(s2);
  m(s3);
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 深泽县| 瓦房店市| 富裕县| 镇沅| 汉源县| 禄劝| 江西省| 苏尼特左旗| 达日县| 婺源县| 永和县| 彰武县| 安新县| 阿合奇县| 和龙市| 天峨县| 通海县| 西平县| 丹棱县| 丹阳市| 会宁县| 安福县| 宝清县| 景宁| 繁昌县| 民乐县| 兴义市| 九龙县| 柳林县| 前郭尔| 文山县| 南乐县| 会同县| 泰宁县| 铁岭市| 南岸区| 城市| 建阳市| 青田县| 嘉禾县| 得荣县|