私は、ファイルから動的に変化する入力読み取り値を持っています。数字はInt
またはDouble
のいずれかです。 Double
の番号の後にScalaが.0
を印刷するのはなぜですか? Scalaがそれを読み取るのと同じ方法で印刷する方法はありますか?Scalaでの数値書式設定は?
例:私が手入力の一部がDouble
sがあるので、私はInt
を使用することはできません
var x:Double = 1
println (x) // This prints '1.0', I want it to print '1'
x = 1.0 // This prints '1.0', which is good
。 String
またはAnyVal
を使用することはできません。数学演算を実行するためです。フォーマット文字列の説明については
printf("The value is %.0f", x)
、Java SEの6 APIのドキュメントからthis pageを参照してください。
は、
あなたのためのおかげで を返信しかし、問題は数が不明であることで、どちらかそれは「1」または「1.0」です。 '1'なら '1'を、 '1.0'なら '1.0'を出力したい。しかし、Doubleであるため、Scalaは常に '1.0'として出力します。 –
これを望むなら、文字列として格納する必要があります。 'double'はあなたが' 1'または '1.0'でそれを割り当てたかどうか覚えていません。 – cdmckay
鼓道、数字は本質的に数字ではありません。値1を持つ数値と値1.0を持つ数値の間には違いはありません。 – Jesper