java 中 String format 和Math類實例詳解
java字符串格式化輸出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
@Test public void test() { // TODO Auto-generated method stub //可用printf(); System.out.println(String.format( "I am %s" , "jj" )); //%s字符串 System.out.println(String.format( "首字母是 %c" , 'x' )); //%c字符 System.out.println(String.format( "this is %b" , true )); //%b布爾類型 System.out.println(String.format( "十進制整數 %d" , 34 )); //%d 十進制整數 System.out.println(String.format( "十六進制整數 %x" , 34 )); //%x 十六進制整數 System.out.println(String.format( "八進制整數 %o" , 34 )); //%o 八進制整數 System.out.println(String.format( "浮點 %f" , 34.0 )); //%f 浮點 System.out.println(String.format( "十六進制浮點 %a" , 34.0 )); //%a 十六進制浮點 System.out.println(String.format( "指數 %e" , 34.0 )); //%e 指數類型 System.out.println(String.format( "通用浮點類型 %g" , 34.0 )); //%g 通用浮點 System.out.println(String.format( "散列碼 %h" , 34 )); //%h 散列碼 System.out.println(String.format( "百分比 %%" )); //%% 百分比 System.out.println(String.format( "換行 %n" )); //%n 換行 System.out.println(String.format( "日期與事件類型 %ty" ,Calendar.getInstance())); System.out.println(String.format( "日期與事件類型 %tm" ,Calendar.getInstance())); System.out.println(String.format( "日期與事件類型 %te" ,Calendar.getInstance())); //%tx 日期與事件類型,x代表不同的日期與時間轉換符 %ty 年 %tm月 %te 日 //搭配轉換符的使用 System.out.println(String.format( "%+d" , 10 )); //為正數或負數添加符號 System.out.println(String.format( "|%-5d|" , 10 )); //%-?為左對齊 System.out.println(String.format( "%04d" , 10 )); //在整數之前添加指定數量空格 System.out.println(String.format( "%,f" , 999999999.0 )); //以“,”對數字分組 System.out.println(String.format( "%(f" , - 999999999.0 )); //使用括號包含負數 System.out.println(String.format( "%#x" , 34 )); //十六進制添加0x System.out.println(String.format( "%#o" , 34 )); //八進制添加0 System.out.println(String.format( "%#f" , 34.0 )); //浮點數包含小數點 System.out.println(String.format( "%f 和%<3.1f" , 34 .0f)); //格式化前一個轉換符所描述的參數(小數后有一位) System.out.println(String.format( "%3.1f" , 34 .0f)); // System.out.println(String.format( "%2$d,%1$s" , "a" , 1 )); // x$代表是第幾個變量 //日期格式化 System.out.println(String.format( "全部日期和時間信息%tc" , new Date())); // tc 輸出全部日期和時間信息 System.out.println(String.format( "年—月—日格式%tF" , new Date())); // tF 年—月—日格式(要大寫) System.out.println(String.format( "月/日/年格式%tD" , new Date())); // tD 月/日/年格式(要大寫) System.out.println(String.format( "HH:MM:SS PM/AM格式 %tr" , new Date())); // tR HH:MM:SS PM/AM格式 System.out.println(String.format( "HH:MM:SS(24小時)%tT" , new Date())); // (大寫)tT HH:MM:SS 24小時制 System.out.println(String.format( "HH:MM(24小時)%tR" , new Date())); // (大寫)tR HH:MM 24小時制 System.out.println(String.format(Locale.US, "英文月份簡稱%tb" , new Date())); // tb 輸出月份簡稱 System.out.println(String.format( "本地月份簡稱%tb" , new Date())); // tb 輸出月份簡稱 System.out.println(String.format(Locale.US, "英文月份全稱%tB" , new Date())); // tB 輸出月份全稱 System.out.println(String.format( "本地月份全稱%tB" , new Date())); // tB 輸出月份全稱 System.out.println(String.format(Locale.US, "星期簡稱%ta" , new Date())); // ta 輸出星期簡稱 System.out.println(String.format( "星期全稱%tA" , new Date())); // tA 輸出星期全稱 Date date = new Date(); System.out.printf( "本地星期的簡稱:%tA%n" ,date); //C的使用,年前兩位 System.out.printf( "年的前兩位數字(不足兩位前面補0):%tC%n" ,date); //y的使用,年后兩位 System.out.printf( "年的后兩位數字(不足兩位前面補0):%ty%n" ,date); //j的使用,一年的天數 System.out.printf( "一年中的天數(即年的第幾天):%tj%n" ,date); //m的使用,月份 System.out.printf( "兩位數字的月份(不足兩位前面補0):%tm%n" ,date); //d的使用,日(二位,不夠補零) System.out.printf( "兩位數字的日(不足兩位前面補0):%td%n" ,date); //e的使用,日(一位不補零) System.out.printf( "月份的日(前面不補0):%te" ,date); //H的使用 System.out.printf( "2位數字24時制的小時(不足2位前面補0):%tH%n" , date); //I的使用 System.out.printf( "2位數字12時制的小時(不足2位前面補0):%tI%n" , date); //k的使用 System.out.printf( "2位數字24時制的小時(前面不補0):%tk%n" , date); //l的使用 System.out.printf( "2位數字12時制的小時(前面不補0):%tl%n" , date); //M的使用 System.out.printf( "2位數字的分鐘(不足2位前面補0):%tM%n" , date); //S的使用 System.out.printf( "2位數字的秒(不足2位前面補0):%tS%n" , date); //L的使用 System.out.printf( "3位數字的毫秒(不足3位前面補0):%tL%n" , date); //N的使用 System.out.printf( "9位數字的毫秒數(不足9位前面補0):%tN%n" , date); //p的使用 String str = String.format(Locale.US, "小寫字母的上午或下午標記(英):%tp" , date); System.out.println(str); System.out.printf( "小寫字母的上午或下午標記(中):%tp%n" , date); //z的使用 System.out.printf( "相對于GMT的RFC822時區的偏移量:%tz%n" , date); //Z的使用 System.out.printf( "時區縮寫字符串:%tZ%n" , date); //s的使用 System.out.printf( "1970-1-1 00:00:00 到現在所經過的秒數:%ts%n" , date); //Q的使用 System.out.printf( "1970-1-1 00:00:00 到現在所經過的毫秒數:%tQ%n" , date); } |
Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@Test public void test3(){ BigDecimal d = new BigDecimal( "123" ); BigDecimal e = new BigDecimal( "14455552" ); System.out.println(Math.pow( 123 , 12 )); System.out.println(d.pow( 12 )); System.out.println(Math.ceil( 12.3 )); //ceil,天花板 13.0 System.out.println(Math.floor(- 12.3 )); //ceil,地板 -13.0 System.out.println(Math.round( 13.3 )); //四舍五入 13 System.out.println(Math.round(- 13.5 )); //四舍五入 -13 System.out.println(Math.round(- 13.2 )); //四舍五入 -13 System.out.println(Math.round(- 13.7 )); //四舍五入 -14 } |
隨機數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//隨機數 @Test public void test4(){ System.out.println(Math.random()); //返回一個隨機數>=0,+b1 //0-100(不包括100) int a =( int )(Math.random()* 100 ); //0-100(包括100) int b =( int )(Math.random()* 101 ); //30-100(包括100) int c =( int )(Math.random()* 71 + 30 ); //0-10 int d = ( int )(Math.random()* 10 ); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); } |
1
2
3
4
5
6
|
@Test public void test5(){ Random r = new Random(); int a = r.nextInt( 101 ); //0-100 } |
simpledateformat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
@Test public void testId() throws ParseException{ String s = "411123199409203013" ; if (s.length()== 18 ){ String b = s.substring( 6 , 14 ); String sex = Integer.parseInt(s.substring( 14 , 17 ))% 2 == 0 ? "女" : "男" ; SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" ); Date birth = sdf.parse(b); //將一個日期字符串按指定的格式解析成日期對象 sdf = new SimpleDateFormat( "yyyy年MM月dd日" ); System.out.println( "你的生日是" +sdf.format(birth)+ ",你的性別是" +sex); String f = String.format( "你的生日是%1$TY年%1$Tm月%1$Td日,你的性別是%2$s" , birth,sex); System.out.println(f); } else if (s.length()== 15 ){ String b = s.substring( 6 , 14 ); String sex = Integer.parseInt(s.substring( 14 , 17 ))% 2 == 0 ? "女" : "男" ; SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" ); Date birth = sdf.parse(b); //將一個日期字符串按指定的格式解析成日期對象 sdf = new SimpleDateFormat( "yyyy年MM月dd日" ); System.out.println( "你的生日是" +sdf.format(birth)+ ",你的性別是" +sex); //format將日期對象生成指定格式的字符串 } |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/qq_18333833/article/details/47358347