java中常用数据类型转换器

时间:2022-10-15 17:54:40
/**
* 把String转换成long
*
* @param src 要转换的String
* @param def 转换失败时返回此值
* @return 转换好的long
*/
public static long toLong(String src, long def) {
if (src == null) {
return def;
}
try {
return Long.parseLong(src);
} catch (Exception ignore) {
}
return def;
}

/**
* 把String转换成int
*
* @param src 要转换的String
* @param def 转换失败时返回此值
* @return 转换好的int
*/
public static int toInt(String src, int def) {
if (src == null) {
return def;
}
try {
return Integer.parseInt(src);
} catch (Exception ignore) {
}
return def;
}

/**
* 把String转换成byte
*
* @param src 要转换的String
* @param def 转换失败时返回此值
* @return 转换好的intbyte
*/
public static byte toByte(String src, byte def) {
if (src == null) {
return def;
}
try {
return Byte.parseByte(src);
} catch (Exception ignore) {
}
return def;
}

/**
* String转换成Date
*
* @param date String
* @param pattern 样式
* @return Date
*/
public static Date toDate(String date, String pattern) {
if (date == null || pattern == null) {
return null;
}
try {
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.parse(date);
} catch (Exception ignore) {
}
return null;
}
 
/**
* 分转元转换,保留两位小数
* @param srcValue 源数据
* @return 结果
*/
public static double longToMoney(long srcValue) {
BigDecimal obj = new BigDecimal(srcValue);
double cny = obj.divide(new BigDecimal(100)).doubleValue();
return Double.parseDouble(String.format("%.2f", cny));
}