[英]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.