package com.xzx.log.util; import cn.hutool.core.util.NumberUtil; import java.math.BigDecimal; import java.util.regex.Pattern; /** * @Description: * @Date: 2018/7/17 * @Author: wcf */ public class StringUtils extends org.apache.commons.lang3.StringUtils{ /** * 是否是base64编码 * @param str * @return */ public static boolean isBase64(String str) { if(str.length()==4&&NumberUtil.isNumber(str))return false; String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"; return Pattern.matches(base64Pattern, str); } /** * 是否包含中文 * @param strName * @param firstLetter 是否只查询第一个字符 * @return */ public static boolean isContainChinese(String strName,boolean firstLetter) { char[] ch = strName.toCharArray(); for (int i = 0; i < ch.length; i++) { char c = ch[i]; if(firstLetter){ if (isChinese(c)) { return true; }else { return false; } }else { if (isChinese(c)) { return true; } } } return false; } // 根据Unicode编码完美的判断中文汉字和符号 private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) { return true; } return false; } /** * 将数字转换为万的单位 * @param number * @return */ public static String intChange2Str(int number) { String str = ""; if (number <= 0) { str = "0"; } else if (number < 10000) { str = number+""; } else { double d = (double) number; double num = d / 10000;//1.将数字转换成以万为单位的数字 BigDecimal b = new BigDecimal(num); double f1 = b.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();//2.转换后的数字四舍五入保留小数点后一位; str = f1 + "万"; } return str; } }