[英]string format in Scala
是Scala的新手,看到人们在字符串前面使用符号f
,这是我尝试的有效示例。 想知道符号f
的作用是什么? 是否需要与%s结合使用? 试图搜索一些教程,但失败了。 谢谢。
object HelloWorld {
def main(args: Array[String]) {
var start = "Monday";
var end = "Friday";
var palindrome = "Dot saw I was Tod";
println(f"date >= $start%s and date <= $end%s" + palindrome);
// output date >= Monday and date <= FridayDot saw I was Tod
}
}
http://docs.scala-lang.org/overviews/core/string-interpolation.html
f内插器
在任何字符串文字前加上f可以创建简单格式的字符串,类似于其他语言中的printf。 使用f插值器时,所有变量引用都应后跟一个printf样式的格式字符串,例如%d。
PS。 另一个有点相关的功能是http://docs.scala-lang.org/overviews/quasiquotes/expression-details
请参阅此处的说明。 对于来自C的人们, f
插值器是printf
样式格式化程序。 %
表示数据类型,使用$
可以引用先前定义的变量。 %不是必须的。 只是您将获得由编译器在编译时确定的格式。 您有时可能想更改输出格式。
因此,如果我举一个例子,
var start = "Monday";
var end = "Friday";
val age = 33
var palindrome = "Dot saw I was Tod";
println(f"date >= $start and date <= $end and age<= $age%f" + palindrome);
我可以省略%f,我将看到33的输出,因为它将推断为Int。 但是,如果我想将其格式化为浮点数,可以使用%f。 另外,如果您使用格式不兼容的格式,则在编译时会收到错误消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.