阿拉伯數字轉成漢字

在批量使用測試帳號的時候,須要對帳號進行標記,通常用username字段,以前的策略是統一的名稱+用戶編號(測試用戶的編號,非用戶id),因爲需求變動,用戶username不容許使用數字了,因此須要把數字轉成漢字來進行標記。 下面分享集中方法:java

private static String change1(int n) {// 數字轉換成漢字表示
        String[] c = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
        String ss = n + "";//把輸入的內容轉換成String類型字符串
        StringBuilder builder = new StringBuilder("");
        int j;
        for (int i = 0; i < ss.length(); i++) {
            for (j = 0; j <= 9; j++) {// 遍歷ss字符串中每一個字符並追加到builder中
                if (ss.charAt(i) == j + '0') {
                    break;
                }
            }
            builder.append(c[j]);//往builder對象中追加獲取的字符
        }
        return builder.toString();//返回該字符串
    }

    private static String change2(int n) {// 數字轉換成漢字表示
        String[] c = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
        String ss = n + "";//把輸入的內容轉換成String類型字符串
        StringBuilder builder = new StringBuilder("");
        for (int i = 0; i < ss.length(); i++) {
            char c1 = ss.charAt(i);
            int i1 = Integer.parseInt(c1 + "");
            builder.append(c[i1]);//往builder對象中追加獲取的字符
        }
        return builder.toString();//返回該字符串
    }

    private static String change3(int n) {// 數字轉換成漢字表示
        String[] c = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
        String ss = n + "";//把輸入的內容轉換成String類型字符串
        StringBuilder builder = new StringBuilder("");
        IntStream.range(0, ss.length()).forEach(x -> builder.append(c[Integer.valueOf(ss.charAt(x) + "")]));
        return builder.toString();//返回該字符串
    }

    private static String change4(int n) {// 數字轉換成漢字表示
        String[] c = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
        return IntStream.range(0, (n + "").length()).mapToObj(x -> c[Integer.valueOf((n + "").charAt(x) + "")]).collect(Collectors.joining()).toString();
    }

    private static String change5(int n) {// 數字轉換成漢字表示
        String[] c = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
        return Arrays.asList((n + "").toCharArray()).stream().map(x -> c[Integer.valueOf(x + "")]).collect(Collectors.joining()).toString();
    }

因爲使用了腳本語言Groovy,因此功能仍是須要用Groovy寫的,下面是Groovy版本:編程

static String[] chineses = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"]

    static String[] capeChineses = ["零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"]
/**
 * 將int類型轉化爲漢子數字,對於3位數的數字自動補零
 * @param i
 * @return
 */
    static String getChinese(int i) {
        if (i <= 0) return "零零零"
        String num = (i + EMPTY).collect { x -> chineses[changeStringToInt(x)] }.join()
        num.length() > 2 ? num : getManyString(chineses[0] + EMPTY, 3 - num.length()) + num
    }

/**
 * 將int類型轉化漢字大寫數字表示
 * @param i
 * @return
 */
    static String getCapeChinese(int i) {
        (i + EMPTY).collect { x -> capeChineses[changeStringToInt(x)] }.join()
    }

不得不說,腳本語言真香。app

技術類文章精選

  1. java一行代碼打印心形
  2. Linux性能監控軟件netdata中文漢化版
  3. 接口測試代碼覆蓋率(jacoco)方案分享
  4. 性能測試框架
  5. 如何在Linux命令行界面愉快進行性能測試
  6. 圖解HTTP腦圖
  7. 如何測試機率型業務接口
  8. httpclient處理多用戶同時在線
  9. 將swagger文檔自動變成測試代碼
  10. 五行代碼構建靜態博客
  11. httpclient如何處理302重定向
  12. 基於java的直線型接口測試框架初探
  13. Tcloud 雲測平臺--集大成者
  14. 如何測試機率型業務接口
  15. Android App 測試工具及知識大集合

非技術文章精選

  1. 爲何選擇軟件測試做爲職業道路?
  2. 成爲傑出Java開發人員的10個步驟
  3. 寫給全部人的編程思惟
  4. 自動化測試的障礙
  5. 自動化測試的問題所在
  6. 測試之《代碼不朽》腦圖
  7. 成爲優秀自動化測試工程師的7個步驟
  8. 優秀軟件開發人員的態度
  9. 如何正確執行功能API測試
  10. 將來10年軟件測試的新趨勢-上
  11. 將來10年軟件測試的新趨勢-上
  12. 自動化測試解決了什麼問題
  13. 17種軟件測試人員經常使用的高效技能-上
  14. 17種軟件測試人員經常使用的高效技能-下

大咖風采

  1. Tcloud 雲測平臺--集大成者
  2. Android App 測試工具及知識大集合
  3. 4399AT UI自動化CI與CD

點擊查看公衆號地圖

相關文章
相關標籤/搜索