web-dev-qa-db-ja.com

Scalaで整数を文字列にキャストするにはどうすればよいですか?

この質問に対する答えをしばらく探しましたが、空っぽになりました。整数である変数Xを文字列にキャストする簡単なコマンドは何ですか?

48
user2162550

タイプxの変数Intがある場合、その上でtoStringを呼び出してその文字列表現を取得できます。

val x = 42
x.toString // gives "42"

これで文字列が得られます。もちろん、任意のScala "thing" ---読み込まれたtoString Wordを避けています]でobjectを使用できます。

86
janm399

簡単ですか?

scala> val foo = 1
foo: Int = 1

scala> foo.toString
res0: String = 1

scala> val bar: Java.lang.Integer = 2
bar: Integer = 2

scala> bar.toString
res1: String = 2
6
om-nom-nom

IntでtoStringメソッドを呼び出すこの単純なusケースが最良の解決策であると思いますが、Scalaはこの種の問題に対してより一般的で非常に強力なメカニズムを提供することを知っておくと良いでしょう。

implicit def intToString(i: Int) = i.toString

def foo(s: String) = println(s)

foo(3)

これで、IntをStringとして扱うことができ(Stringを必要とするメソッドの引数として使用できます)、IntをStringに変換する方法を定義するだけです。

0
Blezz

コードゴルファー向けの s St​​ring interpolator のエキゾチックな使用法:

val i = 42
s"$i"
// String = 42
0
Xavier Guihot