亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2014年02月14日 10:31:58   作者:  
這篇文章主要介紹了支票金額大寫轉換示例(金額大寫轉換器),需要的朋友可以參考下

復制代碼 代碼如下:

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

public class FigureAndChinese2Util {

 // 緩存所有數(shù)字的
 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("\\.");
  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);
 }
}

相關文章

  • java springboot的概述、特點與構建介紹

    java springboot的概述、特點與構建介紹

    大家好,本篇文章主要講的是springboot的概述、特點與構建介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java 二分查找算法的實現(xiàn)

    Java 二分查找算法的實現(xiàn)

    這篇文章主要介紹了Java 如何實現(xiàn)二分查找算法,幫助大家更好的理解和學習Java 算法,感興趣的朋友可以了解下
    2020-09-09
  • Java 并發(fā)編程ArrayBlockingQueue的實現(xiàn)

    Java 并發(fā)編程ArrayBlockingQueue的實現(xiàn)

    這篇文章主要介紹了Java 并發(fā)編程ArrayBlockingQueue的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 詳解SpringBoot中@PostMapping注解的用法

    詳解SpringBoot中@PostMapping注解的用法

    在SpringBoot中,我們經(jīng)常需要編寫RESTful Web服務,以便于客戶端與服務器之間的通信,@PostMapping注解可以讓我們更方便地編寫POST請求處理方法,在本文中,我們將介紹@PostMapping注解的作用、原理,以及如何在SpringBoot應用程序中使用它
    2023-06-06
  • java 三種將list轉換為map的方法詳解

    java 三種將list轉換為map的方法詳解

    這篇文章主要介紹了java 三種將list轉換為map的方法詳解的相關資料,需要的朋友可以參考下
    2017-01-01
  • Java?SpringBoot核心源碼詳解

    Java?SpringBoot核心源碼詳解

    這篇文章主要為大家介紹了Java?SpringBoot核心源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Springboot如何獲取yml、properties參數(shù)

    Springboot如何獲取yml、properties參數(shù)

    這篇文章主要介紹了Springboot如何獲取yml、properties參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • seata-1.4.0安裝及在springcloud中使用詳解

    seata-1.4.0安裝及在springcloud中使用詳解

    這篇文章主要介紹了seata-1.4.0安裝及在springcloud中使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Flink支持哪些數(shù)據(jù)類型?

    Flink支持哪些數(shù)據(jù)類型?

    Apache Flink 以其獨特的方式來處理數(shù)據(jù)類型以及序列化,這種方式包括它自身的類型描述符、泛型類型提取以及類型序列化框架.本文檔描述了它們背后的概念和基本原理,需要的朋友可以參考下
    2021-06-06
  • Java快速排序與歸并排序及基數(shù)排序圖解示例

    Java快速排序與歸并排序及基數(shù)排序圖解示例

    快速排序是基于二分的思想,對冒泡排序的一種改進。主要思想是確立一個基數(shù),將小于基數(shù)的數(shù)放到基數(shù)左邊,大于基數(shù)的數(shù)字放到基數(shù)的右邊,然后在對這兩部分進一步排序,從而實現(xiàn)對數(shù)組的排序
    2022-09-09

最新評論