import scala.collection.immutable.StringLike
format(args: Any*)使用本地語言環境
formatLocal(l: Locale, args: Any*)使用指定的語言環境
數據類型到字符串的轉換
轉 換 符 |
說 明 |
示 例 |
%s |
字符串類型 |
"wwx" |
%c |
字符類型 |
'w' |
%b |
布爾類型 |
true |
%d |
整數類型(十進制) |
99 |
%x |
整數類型(十六進制) |
FF |
%o |
整數類型(八進制) |
77 |
%f |
浮點類型 |
99.99 |
%a |
十六進制浮點類型 |
FF.35AE |
%e |
指數類型 |
9.668e+5 |
%g |
通用浮點類型(f和e類型中較短的) |
|
%h |
散列碼 |
|
%% |
百分比類型 |
% |
%n |
換行符 |
|
%tx |
日期與時間類型(x代表不同的日期與時間轉換符 |
搭配轉換符的標志
標 志 |
說 明 |
示 例 |
結 果 |
+ |
為正數或者負數添加符號 |
("%+d",112) |
+112 |
− |
左對齊 |
("%-5d",112) |
|112 | |
0 |
數字前面補0 |
("%05d", 99) |
00099 |
空格 |
在整數之前添加指定數量的空格 |
("% 5d", 99) |
| 99| |
, |
以“,”對數字分組 |
("%,f", 9999.99) |
9,999.990000 |
( |
使用括號包含負數 |
("%(f", -99.99) |
(99.990000) |
# |
如果是浮點數則包含小數點,如果是16進制或8進制則添加0x或0 |
("%#x", 99) ("%#o", 99) |
0x63 0143 |
< |
格式化前一個轉換符所描述的參數 |
("%f和%<3.2f", 99.45) |
99.450000和99.45 |
$ |
被格式化的參數索引 |
("%1$d,%2$s", 89,"abc") |
89,abc |
%[argument_index$][flags][width][.precision]conversion
argument_index: 可選,表明參數在參數列表中的位置。第一個參數由 "1$" 引用,第二個參數由 "2$" 引用,依此類推。
flags: 可選,用來控制輸出格式
width: 可選,是一個正整數,表示輸出的最小長度
precision:可選,用來限定輸出字符數,精度
conversion:必須,用來表示如何格式化參數的字符
scala> "%1$s-%2$s-%3$s".format("spark","scala","ml") res29: String = spark-scala-ml // 百分比 scala> "%d%%".format(86) res31: String = 86% // 精度為3,長度為8 scala> "%8.3f".format(11.56789) res36: String = " 11.568" scala> "%8.3f".format(11.56789).length() res37: Int = 8 // 精度為3,長度為8,不足的用0填補 scala> "%08.3f".format(11.56789) res38: String = 0011.568 // 長度為9,不足的用0填補 scala> "%09d".format(11) res23: String = 000000011 scala> "%.2f".format(11.23456) res25: String = 11.23 scala> val wx=36.6789 wx: Double = 36.6789 scala> f"${wx}%.2f" res39: String = 36.68 //############### scala> val name="scala" name: String = scala scala> s"spark,$name" res40: String = spark,scala scala> "spark,$name" res41: String = spark,$name scala> s"spark\n$name" res42: String = spark scala scala> "spark\n$name" res43: String = spark $name scala> raw"spark\n$name" res44: String = spark\nscala