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
