java 之 格式化输出 StringFormat
最近开发短报文
socket接口,要求输出的各数据元定长。
于是,根据实际需求,写了一个小小的StringFormat.java 类用于格式化输出 String、int、double 等数据类型。
代码如下:
public class StringFormat {
/**
* 格式化输出 字符串
* [*]左对齐,右补空格
*
* @param str
* @param min_length : 最小输出长度
* @return
*/
public static String formatLeftS(String str, int min_length) {
String format = "%-" + (min_length < 1 ? 1 : min_length) + "s";
return String.format(format, str);
}
/**
* 格式化输出 整数
* [*]右对齐,左补0
*
* @param num
* @param min_length : 最小输出长度
* @return
*/
public static String format0Right(long num, int min_length) {
String format = "%0" + (min_length < 1 ? 1 : min_length) + "d";
return String.format(format, num);
}
/**
* 格式化输出 浮点数
* [*]右对齐,左补0
*
* @param d
* @param min_length : 最小输出长度
* @param precision : 小数点后保留位数
* @return
*/
public static String format0Right(double d, int min_length, int precision) {
String format = "%0" + (min_length < 1 ? 1 : min_length) + "."
+ (precision < 0 ? 0 : precision) + "f";
return String.format(format, d);
}
}
String.format 果然很给力。
注:jdk1.5以上版本才有String.format