java 之 格式化输出 StringFormat

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

你可能感兴趣的:(java,string.Format,stringformat)