您的位置:

java格式化字符串,java格式化字符串为固定长度

本文目录一览:

JAVA按格式输出字符串

在Java编程中格式化字符串,用String类的静态方法String.format():

format(Locale l, String format, Object... args) 

//使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

format(String format, Object... args) 

//使用指定的格式字符串和参数返回一个格式化字符串。

举几个这个方法实用的例子(注释是输出结果):

//案例1

long now = System.currentTimeMillis();

String s = String.format("%tR",now);   //输出当前时间的小时和分钟

// 格式化输出结果"09:22"

//案例2

Date d = new Date(now);

s = String.format("%tD",d);   //输出当前时间的month/day/year      

// 格式化输出结果"11/05/15"

Java:应该如何将字符串格式化成固定长度呢?

随便自己写个方便啊。

/**

* 获取定长的字符串

* @param str 原始字符串

* @param len 固定长度

* @param c 不够填充的字符

* @return 固定长度的字符串

*/

public static String getFixedLenString(String str, int len, char c) {

if (str == null || str.length() == 0){

str = “”;

}

if (str.length() == len){

return str;

}

if (str.length() len){

return str.substring(0,len);

}

StringBuilder sb = new StringBuilder(str);

while (sb.length() len){

sb.append(c);

}

return sb.toString();

}

JAVA中有哪几种格式化字符串?

public class test1 { //新建类

public static void main(String[] args) { //主方法

String str = String.format("%d",400/2); //将结果以十进制显示

String str2 = String.format("%b",3 5); //将结果以布尔形式显示

String str3 = String.format("%x",200); //将结果以10进制格式显示

System.out.println("400的一半是:"+str); //输出格式化字符串

System.out.println("35正确吗:"+str2);

System.out.println("200的16进制数是:"+str3);

}

}

为什么会报错:

类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用

类型 String 中的方法 format(String, Object[])对于参数(String, boolean)不适用

类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用

java中字符串为什么要格式化??格式化是什么意思?

格式化是根据业务需要进行的。像时间字符串或者特殊意思的ID,对他们进行格式化后能更方便的进行比较、转换或者理解。而格式化就是根据特定的格式进行处理,将原来的字符串转为给定格式的字符串。例子:时间字符串“20120224”转为“2012-02-24”

Java字符串反向格式化如何实现; 我们现在都是通过有占位符的格式化字符串, 填入占位的值, 得到结果?

代码为:

public class Main {

public static void main(String[] args) {

String format = "select %s from %s limit %s";

String param = "select * from user limit 10";

//根据%s分割format字符串

String[] stArr = format.split("%s");

//使用集合存储结果集

ListString result = new ArrayList();

for (int i = 0; i stArr.length; i++) {

//根据分割内容裁剪param字符串

param = param.substring(stArr[i].length());

if (i stArr.length - 1) {

//计算下一条分割内容的位置

int index = param.indexOf(stArr[i + 1]);

//截取出结果放入结果集

result.add(param.substring(0, index));

//截取后的剩余部分重新赋值给param

param = param.substring(index);

} else {

//如果param以%s结尾,则将param剩余部分做为最后一次结果

if (param.length() 0) {

result.add(param);

}

}

}

System.out.println(result);

}

}

运行结果: