java 格式化 布尔型_Java基础篇(1)-格式化
本文目錄:
十進制數(shù)字格式化——DecimalFormat
數(shù)字格式化基類——NumberFormat
字符串格式化類——String.format()
Linux輸出格式化——printf
1. 十進制數(shù)字格式化(DecimalFormat)
decimal是對數(shù)字進行格式化,比如取2位小數(shù),這是最常見的。Java提供了DecimalFormat類,可以快速的將數(shù)字格式化為需要的樣子。
DecimalFormat類主要靠#和0兩種占位符來指定數(shù)字長度。
0表示如果位數(shù)不足,則以0填充,若是位數(shù)足夠,則正常顯示位數(shù);
#表示如果位數(shù)不足,則該位不顯示。
DecimalFormat中0和#的區(qū)別
DecimalFormat參數(shù)的含義
源代碼測試
DecimalFormat數(shù)字格式化
2. NumberFormat數(shù)字格式化
NumberFormat是所有數(shù)字格式的抽象基類。該類提供格式化和解析數(shù)字的接口。而DecimalFormat是NumberFormat的直接子類。
3. String格式化
開發(fā)的時候,一段字符串的中間某一部分是需要可變的。我們就需要用到了String.format來填充內(nèi)容。
3.1 需要的API(String.format)
String.format()字符串常規(guī)類型格式化的兩種重載方式
format(String format, Object… args) 新字符串使用本地語言環(huán)境,制定字符串格式和參數(shù)生成格式化的新字符串。
format(Locale locale, String format, Object… args) 使用指定的語言環(huán)境,制定字符串格式和參數(shù)生成格式化的字符串。
3.2 format的格式類型
轉(zhuǎn)換符
詳細說明
示例
%s
字符串類型
"小胖學(xué)編程"
%c
字符類型
'm'
%b
布爾類型
true
%d
整數(shù)類型(十進制)
88
%x
整數(shù)類型(十六進制)
FF
%o
整數(shù)類型(八進制)
77
%f
浮點類型
8.888
%a
十六進制浮點類型
FF.35AE
%%
百分比類型
%(%特殊字符%%才能顯示%)
2.3 源碼及測試結(jié)果
測試代碼及結(jié)果
3.4 String.format的高級功能
標(biāo)志
詳細說明
示例
結(jié)果
+
為正數(shù)添加符號
("%+d",15)
+15
0
數(shù)字前面補0(加密常用)
("%04d",99)
0099
空格
整數(shù)之前添加空格
("% 4d", 99)
99
,
以“,”對數(shù)字分組(常用顯示金額)
(“%,f”, 9999.99)
9,999.990000
(
使用括號包含負數(shù)
(“%(f”, -99.99)
(99.990000)
3.5 源碼及測試結(jié)果
源碼及測試結(jié)果
4. Linux的輸出格式化命令-printf
printf命令的語法:printf "指定的格式" "文本1" "文本2" "文本3";
printf命令詳解
正如下圖,每一個“文本”都會被當(dāng)做參數(shù)傳遞到printf命令,而每一個傳入的參數(shù)都會按照指定的"格式"被"格式化"。
image.png
%s是格式替換符,代替每一個傳入的參數(shù)。所以我們指定的格式變成了abc\n def\n sss\n aaa\n。
我們可以根據(jù)傳入的參數(shù)不同,使用不同的“格式替換符”去替換
格式替換符
詳細說明
%s
字符串類型
%f
浮點類型(也就是float或double)
%b
相對應(yīng)的參數(shù)包含了轉(zhuǎn)義字符,使用該替換符時對應(yīng)的轉(zhuǎn)義字符會被轉(zhuǎn)義
%c
ASCII字符,顯示相對應(yīng)參數(shù)的第一個字符
%d,%i
顯示對應(yīng)參數(shù)的第一個字符
%o
不帶正負號的八進制值
%u
不帶正負號的十進制值
%x
不帶正負號的十六進制值,使用a-f表示10-15
%X
不帶正負號的十六進制值,使用A-F表示10-15
%%
表示"%"本身
對應(yīng)的轉(zhuǎn)義字符:
轉(zhuǎn)義字符
詳細說明
\a
警告字符,通常為ASCII的BEL字符
\b
后退
\f
換頁
\n
換行
\r
回車
\t
水平制表符
\v
垂直制表符
\
字面意義上的反斜杠字符,即\本身
例子:(1)為傳入的每個參數(shù)添加一對“括號”
[root@XXXXXX etc]$ printf "{%s}" abc def;echo ""
{abc}{def}
多格式替換符
多個格式替換符
我們所指定的“格式”中所包含的“格式替換符”的數(shù)量,就代表每次格式化參數(shù)的數(shù)量。上圖中,指定的“格式”中包含兩個“格式替換符”,那么每次printf進行“格式化”操作時,就傳入兩個參數(shù)。
傳入三個格式替換符
輸出格式的寬度
在"格式替換符"中間加上特定的數(shù)字。比如"%10s"中間的10表示當(dāng)前替換符對應(yīng)的輸出寬度為10個字符寬,如果輸出不足10個字符,則用空格補全。而這些數(shù)字我們稱為“修飾符”,即對替換符進行修飾。
如何進行左對齊?只要在原來的修飾符前面加上"-","-"表示左對齊,默認不加"-"表示右對齊。
[root@XXXXXX etc]$ printf "{%10s}" abc def;echo ""
{ abc}{ def}
[root@XXXXXX etc]$ printf "{%-10s}" abc def;echo ""
{abc }{def }
設(shè)置格式的寬度
還有一種修飾符"+"
注意:"+"可不是代表右對齊,不加修飾符"-"時,默認是右對齊,那么"+"修飾符什么意思呢?
+修飾符的作用
當(dāng)替換符對應(yīng)的參數(shù)為數(shù)字時,可以使用+修飾符是為了給正數(shù)添加+號。
(敲黑板,劃重點)到現(xiàn)在為止,我們接觸了3個修飾符了。需要注意的是:(1)數(shù)字:輸出當(dāng)前替換符對應(yīng)的輸出寬度,默認右對齊;(2)-:修改對齊方式為左對齊;(3)+:為正數(shù)添加+符號;
數(shù)字修飾符的特殊用法
[root@XXXXXX etc]$ printf "%-12.3f\n" 19
19.000
[root@XXXXXX etc]$ printf "%-12.3d\n" 19
019
[root@XXXXXX etc]$ printf "%-0.3f\n" 19.1230
19.123
[root@XXXXXX etc]$ printf "%-0.3s\n" 19.1230
19.
修飾符作為正數(shù)我們知道,就是輸出的寬度;
但是作為小數(shù)時:
當(dāng)替換符為%f時,如果數(shù)字修飾符帶有小數(shù),則數(shù)字修飾符小數(shù)點后的數(shù)字表示對應(yīng)的小數(shù)精度;
當(dāng)替換符為%d時,如果數(shù)字修飾符帶有小數(shù),則數(shù)字修飾符后的小數(shù)表示整數(shù)的長度,長度不夠時,高位用0補全;
當(dāng)替換符為%s時,如果數(shù)字修飾符帶有小數(shù),則是截取字符串的長度;
參考文章:
總結(jié)
以上是生活随笔為你收集整理的java 格式化 布尔型_Java基础篇(1)-格式化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡如何转账,不能直接转账
- 下一篇: java关于泛型的实验代码_[改善Jav