簡體   English   中英

Scala中的字符串格式

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM