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
