1

値を持つ浮動小数点数を出力しようとしています5

それを印刷したときに私が得るものはです5.0、それで私の質問は:

値がちょうどの場合は後なしで5印刷され、そうである場合はそれが印刷されるようにするにはどうすればよいですか?5.05.2

私は周りを見回しましたが、私が見つけたのは、それを何らかの方法で強制することだけでした。

誰かが正しい方向に私を助けることができますか?ありがとう :)

4

3 に答える 3

2

これを試して:

number.to_s.gsub(/\.?0*$/, '')

これはでも機能しnumber = "5.30" # => '5.3'ます。

于 2010-09-04T11:42:54.103 に答える
1

いくつかの汚い解決策。

1.1。

a = 5.0
puts a.ceil == a ? a.ceil : a

2.2。

5.1.to_s.chomp ".0" #=> 5.1
5.0.to_s.chomp ".0" #=> 5
于 2010-09-04T11:40:35.137 に答える
0

なぜあなたはこれをしたいのですか?有効数字の数が異なるため、異なるメッセージ5を伝達します。前者は「5ギブまたはマイナス半分」を示し、後者は「5から1000分の1」を示します。5.000

于 2010-09-04T13:45:56.413 に答える