scala字符串格式化-StringLike.format()


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 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM