String的format⽅法格式化数字
在⽣活中我们将数字写成各种各样的格式,想时间⼀样的20:32:32PM,还有122,223,223.23来表⽰⾦钱数,在java中也有将数字格式化
的⽅法,从java5.0之后,可以运⽤java.util中的Formatter类来格式化数字,你并不需要继承该类或者调⽤该类中的⽅法,因为在String中
有format()⽅法也能实现这个功能。
例如:String.format(“ String str”,数字);
该⽅法运⾏传⼊两个或更多个参数,第⼀个参数为字符串参数,后⾯的参数为数字型参数,你可以在字符串参数中定义后⾯数字的格式化格
式,在字符串中你还可以在%前⾯和%格式化参数后⾯写⼊任意的字符串,像是这样:
public class TestTest {
public static void main(String[] args) {
System.out.println(String.format("It’s a number%,6.1f",2223223.155));
System.out.println(String.format("It’s a number %,.1f",3223.12));
//%后⾯可以跟五个部分,但是只有类型部分是必须写的,如上句中的f即为单精度浮点型,还有四个部分按顺序
//分别是可以指定参数的数字(有超过两个参数以上时),特定的类型(如上句中的“,”,或者给输出加上正负号),规定最⼩字符数(如上⾯的“6”),“.”符号加上精 }
}
输出为[quote]It’s a number2,223,223.2
It’s a number 3,223.1
[/quote]
格式化命令format参数format()⽅法当然也可以将数字格式化成为时间格式,代码如下:
具体请看下⾯代码:
import java.util.Date;
public class NumGeShiHua {
public static void main(String[] args) {
String s = String.format("test%,11d, %,.3f.", 1007000, 220000.12352);
System.out.println(s);
// 输出⽇期:sunday,Nov28 204,
// 特别⼆的⽅法,只是为了输出所需输出的⽇期字符串
int b = 28;
int c = 204;
String a = String.format("sunday,Nov%d %d", b, c);
System.out.println(a);
/
/ 把Date类型的变量⽇期⽤这样的格式输出,Date是JAVA上表⽰时间的类,
// 所以如果⽤这种format⽅法的话,数字与⽇期时间格式化的主要差别在于⽇期格式的类型  // ⽇期格式使⽤"t"开头的两个字符来表⽰。例如:
String tc = String.format("%tc", new Date());// 这个%tc是⽤来表⽰完整的⽇期和时间。
String tr = String.format("%tr", new Date());// %tr是只表⽰时间。
// ⽤%tA%tB%tC来表⽰周⽉⽇;
Date today = new Date();
String time2 = String.format("%tA,%tB %tC", today, today, today);
// 表达周⽉⽇还有另外⼀种表达⽅式。
String time = String.format("%tA,%<tB %<tC", today);
// 这⾥⾯的<;符号是特殊的指⽰,⽤来告诉程序重复利⽤之前的参数,在这⾥参数就是today。  System.out.println("现在是⽇期和时间是 " + tc);// 打印完整的⽇期,年⽉⽇还有具体的时间。  System.
out.println("现在的时间是 " + tr);// 打印具体的时间。
System.out.println("今天的⽇期是 " + time);// 打印周⽉⽇。
System.out.println("今天的⽇期是 " + time2);
}
}
// 在这⾥⾯需要⽤到java.util.Date,需要先创建出类Date对象。
// 如果要是操作⽇期,建议使⽤java.utli.Calendar这个类,这是个抽象类,详细点击
// 在格式化语句中,%+参数⾓标+特定类型的特定选项如逗号正负号+最⼩的字符数
//+precision(精确度,前⾯带有.符号)+类型(如int,float)
// 后⾯跟上需要格式化的数据,
test  1,007,000, 220,000.124.
sunday,Nov28 204
现在是⽇期和时间是星期三⼗⼀⽉ 30 13:50:24 CST 2016
现在的时间是 01:50:24 下午
今天的⽇期是星期三,⼗⼀⽉ 20
今天的⽇期是星期三,⼗⼀⽉ 20

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。