package cn.edu.hbcf.common.utils;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* FormatUtil.class 字符串,数字之间的转换工具类。
*
* @author*/
public class FormatUtil {
private static final Log log = LogFactory.getLog(FormatUtil.class);
/**
* Integer转换为String,如果integer==null则返回null
*
* @param integer
* @return
*/
public static final String convertIntegerToString(Integer integer) {
if (integer == null) {
return null;
}
return integer.toString();
}
// add by sxy:把一个字符串 前面加0直到8位,如时间9080808转成09080808
public static final String convertStringTo8DigitString(String str) {
if (str == null) {
return null;
}
String result = "";
int length = (8 - str.length());
for (int i = 0; i < length; i++) {
result = result + "0";
}
return result + str;
}
/**
* Short转换为String,如果parashort==null则返回null
*
* @param parashort
* @return
*/
public static final String convertShortToString(Short parashort) {
if (parashort == null) {
return null;
}
return parashort.toString();
}
/**
* CHECKBOX 转化
*
* @param parashort
* @return
*/
public static final String checkboxToString(String str) {
if (str == null) {
return "0";
} else {
return "1";
}
}
/**
* BigDecimal转换为String,如果bigDecimal==null则返回null
*
* @param bigDecimal
* @return
*/
public static final String convertBigDecimalToString(BigDecimal bigDecimal) {
if (bigDecimal == null) {
return null;
}
return bigDecimal.toString();
}
/**
* 字符串转换为BigDecimal,转换失败返回null.
*
* @param num
* @return
*/
public static final BigDecimal convertStringToDecimal(String num) {
BigDecimal bigDecimal = null;
try {
bigDecimal = new BigDecimal(num);
} catch (Exception e) {
log.warn("FormatUtil.convertStringToDecimal(" + num
+ ") failed with the errorMessage:" + e.getMessage());
}
return bigDecimal;
}
/**
* 字符串转换为Integer,转换失败返回null.
*
* @param aStr
* @return
*/
public static final Integer StringToInt(String aStr) {
Integer integer = 0;
try {
if (!isEmpty(aStr)) {
integer = new Integer(aStr);
}
} catch (Exception e) {
log.warn("FormatUtil.StringToInt(" + aStr
+ ") failed with the errorMessage:" + e.getMessage());
}
return integer;
}
/**
* 字符串是否为空:str==null 或者str为空串返回true;否则返回false
*
* @param str
* @return
*/
public static final boolean isEmpty(String str) {
return (str == null || str.trim().length() == 0) ? true : false;
}
/**
* 字符串是否非空:str==null 或者str为空串返回false;否则返回true
*
* @param str
* @return
*/
public static final boolean isNotEmpty(String str) {
return !isEmpty(str);
}
/**
* 如果字符串是空或者是空串,则返回null;否则返回str.trim()
*
* @param str
*/
public static final String trimNull(String str) {
return (isEmpty(str) ? null : str.trim());
}
/**
* Integer 转换成BigDecimal:如果integer==null,返回null;否则返回转换后的BigDecimal.
*
* @param integer
* @return
*/
public static final BigDecimal convertIntegerToBigDecimal(Integer integer) {
return (integer == null ? null : BigDecimal.valueOf(integer));
}
/**
* Long 转换成BigDecimal:如果Long==null,返回null;否则返回转换后的BigDecimal.
*
* @param Long
* @return
*/
public static final BigDecimal convertLongToBigDecimal(Long para) {
return (para == null ? null : BigDecimal.valueOf(para));
}
/**
* Integer 转换成BigInteger:如果integer==null,返回null;否则返回转换后的BigInteger.
*
* @param integer
* @return
*/
public static final BigInteger convertIntegerToBigInteger(Integer integer) {
return (integer == null ? null : BigInteger.valueOf(integer));
}
/**
* Short 转换成BigInteger:如果integer==null,返回null;否则返回转换后的BigInteger.
*
* @param integer
* @return
*/
public static final BigInteger convertShortToBigInteger(Short source) {
return (source == null ? null : BigInteger.valueOf(source));
}
/**
* BigInteger 转换成Integer:如果bigInteger==null,返回null;否则返回转换后的Integer.
*
* @param bigInteger
*
* @return
*/
public static final Integer convertBigIntegerToInteger(BigInteger bigInteger) {
return (bigInteger == null ? null : bigInteger.intValue());
}
public static final Integer convertBigDecimalToInteger(BigDecimal bigDecimal) {
if (bigDecimal == null) {
return null;
}
return bigDecimal.intValue();
}
public static final Long StringToLong(String aStr) {
Long longTemp = null;
try {
longTemp = new Long(aStr);
} catch (Exception e) {
log.warn("FormatUtil.StringToLong(" + aStr
+ ") failed with the errorMessage:" + e.getMessage());
}
return longTemp;
}
public static final Integer convertLongToInteger(Long para) {
return (para == null ? null : para.intValue());
}
/**
* 将字符串str截取成最大maxBytesLength的字2节,如果str字节数小于maxBytesLength,则返回原始str
*/
public static String subString(String str, int maxBytesLength) {
if (isNotEmpty(str) && str.getBytes().length > maxBytesLength) {
byte[] bytesOut = new byte[maxBytesLength];
byte[] bytesIn = str.getBytes();
System.arraycopy(bytesIn, 0, bytesOut, 0, maxBytesLength);
str = new String(bytesOut);
}
return str;
}
/**
* 将字符串str转化成double类型
*
*/
public static final Double convertStringToDouble(String str) {
Double doubleTemp = 0.0;
if (isEmpty(str)) {
return doubleTemp;
} else {
doubleTemp = Double.parseDouble(str);
return doubleTemp;
}
}
/**
* 将字符串str转化成Float类型
*
*/
public static final Float convertStringToFloat(String str) {
Float floatTemp = new Float(0);
if (isEmpty(str)) {
return floatTemp;
} else {
floatTemp = Float.valueOf(str);
return floatTemp;
}
}
public static final Long convertBigDecimalToLong(BigDecimal bigDecimal) {
String strTemp = convertBigDecimalToString(bigDecimal);
Long longTemp = StringToLong(strTemp);
return longTemp;
}
public static final BigInteger convertBigDecimalToBigInteger(
BigDecimal bigDecimal) {
Integer intTemp = convertBigDecimalToInteger(bigDecimal);
BigInteger bigIntegerTemp = convertIntegerToBigInteger(intTemp);
return bigIntegerTemp;
}
public static void main(String args[]) {
String result = convertStringTo8DigitString("22111111");
System.out.println(result);
}
public static Map<String, Object> string2Map(String context) {
if (context.length() <= 2) {
return null;
}
Map<String, Object> map = new HashMap<String, Object>();
context = context.substring(1, context.length() - 1);
String[] contextArray = context.split(",");
for (String attribute : contextArray) {
String[] attr = attribute.split(":");
if (attr.length == 2 && attr[1].length() > 2) {
String value = attr[1].substring(1, attr[1].length() - 1);
map.put(attr[0], value);
}
}
return map;
}
}