📄 stringutils.java
字号:
package org.derrick.util;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
/**
*
* @author 刘冬宝Oct 26, 2006
版权申明:所有人员均可自由修改源码并再发布,但必须保留此相关信息
*
*/
public class StringUtils {
private static Logger logger = LogManager.getLogger(StringUtils.class);
/**
* 将一个浮点型数字转换成给定小数位的字符串表示。
*
* @param input
* double 浮点型数
* @param scale
* int 小数位
* @return String
*/
static public String handleScale(double input, int scale) {
BigDecimal bigDecimal = new BigDecimal(input);
bigDecimal = bigDecimal.setScale(scale, BigDecimal.ROUND_HALF_EVEN);
return handleNULL(bigDecimal.toString());
// NumberFormat format = NumberFormat.getNumberInstance();
// format.setMaximumFractionDigits(scale);
// format.setGroupingUsed(false);
// return format.format(input);
}
/**
* 将一个浮点型数字转换成给定小数位的字符串表示。
*
* @param input
* String 浮点型数的字符串形式
* @param scale
* int 小数位
* @return String
*/
static public String handleScale(String input, int scale) {
BigDecimal bigDecimal = new BigDecimal(input);
bigDecimal = bigDecimal.setScale(scale, BigDecimal.ROUND_HALF_EVEN);
return handleNULL(bigDecimal.toString());
// NumberFormat format = NumberFormat.getNumberInstance();
// format.setMaximumFractionDigits(scale);
// format.setGroupingUsed(false);
// return format.format(input);
}
static public String leadingZero(String input, int length) {
input = handleNULL(input);
char nils[] = new char[length - input.length()];
Arrays.fill(nils, '0');
input = String.valueOf(nils) + input;
return handleNULL(input);
}
static public String handleNULL(String input) {
return handleNULL(input, "");
}
static public String handleNULL(String input, String def) {
if (null == input || input.trim().length() <= 0) {
return def;
} else {
return input.trim();
}
}
static public String encode_MD5(String inputString)
throws NoSuchAlgorithmException {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(inputString.getBytes());
byte md[] = messageDigest.digest();
return handleNULL(byteToHex(md, true));
}
/**
* e 将字符串转换成8859_1编码格式。
*
* @param input
* @return
* @throws java.lang.Exception
*/
static public String convertTo8859_1(String input)
throws UnsupportedEncodingException {
if (input == null) {
return "";
} else {
input = input.trim();
return new String(input.getBytes(), "8859_1");
}
}
/**
* 将字符串从8859_1编码格式转换成GB2312编码格式。
*
* @param input
* @return
* @throws java.lang.Exception
*/
static public String convert8859_1ToGB2312(String input)
throws UnsupportedEncodingException {
if (input == null) {
return "";
} else {
input = input.trim();
return new String(input.getBytes("8859_1"), "GB2312");
}
}
/**
* 将字符串对象从8859_1编码格式转换成GB2312编码格式。
*
* @param input
* @return
* @throws java.lang.Exception
*/
static public String convert8859_1ToGB2312(Object obj)
throws UnsupportedEncodingException {
return convert8859_1ToGB2312(obj.toString());
}
static public String byteToHex(byte b[], boolean upper) {
String result = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = Integer.toHexString(b[n] & 0xff);
if (stmp.length() == 1) {
result = result + "0" + stmp;
} else {
result = result + stmp;
}
}
if (upper) {
return result.toUpperCase();
} else {
return result.toLowerCase();
}
}
static public String convertToGB2312(String str)
throws UnsupportedEncodingException {
return new String(str.getBytes(), "GB2312");
}
/**
* 将以分代表的字符串转换成以元代表的字符串,默认小数为两位
*
* @param fen
* @return
*/
static public String convertFenToYuan(String fen) {
return convertFenToYuan(Double.parseDouble(fen));
}
/**
* 将金额分转换成以元代表的字符串,默认小数为两位
*
* @param fen
* @return
*/
static public String convertFenToYuan(double fen) {
String result;
try {
double yuan = fen / 100;
if (logger.isDebugEnabled()) {
logger.debug("before convert fen = " + fen);
}
result = handleScale(yuan, 2);
if (logger.isDebugEnabled()) {
logger.debug("after convert yuan = " + yuan);
}
} catch (Exception ex) {
logger.error(ex.getMessage());
result = "0.00";
}
if (logger.isDebugEnabled()) {
logger.debug("after convert result = " + result);
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -