2016-07-30 11 views
1

Scalaの文字列から文字を取り出したいが、toInt変換は文字の代わりに文字列のように振る舞うようにしたいとします。Scalaの文字列から文字を取得しますが、文字列として結果を保持しますか?

次のコードを示すためには、それほどのように振る舞う:

"000".charAt(0).toString.toInt // results in 0 

"0".toInt // results in 0 
"000".charAt(0).toInt // results in 48 

は、私は、次のような解決策を持っても0をもたらす第二行のバージョンを希望します

しかし、より直接的またはより良い方法があるのだろうか?

+0

.toInt'?そして、「結果を文字列として保つ」ということはどういう意味ですか? –

答えて

1

あなたは行うことができます。

"000".substring(0, 1).toInt 

しかし、私はあなたが使用することができ、それは"000".charAt(0).toString.toInt

+0

ええ、私が思っていたものを正確に定義するのは難しいです。それが価値あるものについては、私はこの解決策が良いと思います。 –

+0

私は役に立つと分かった@リーの答えをアップアップしましたが、それを受け入れるか自由にアップアップしてください: –

+0

受け入れられました。私は@リーの答えもあきらめました。 –

5

以上に "直接" だわからないasDigit: "000" `と間違って何

val i: Int = "000".charAt(0).asDigit 
+0

偉大な答え。 Upvotedしかし私は最高の答えとしてTzach Zoharの答えを受け入れています。これを最終的に推論することは、.substringを使用すると文字列から文字列を返すというものでした。質問の厄介な言葉遣いとして、この答えは文字から望ましい結果を得ます。 –

+0

いずれかの回答が本当に最高でした。 –

関連する問題