我正在尝试打印出一个值为5
打印出来时我得到的是5.0
,所以我的问题是:
如何制作,如果该值只是5
,则只会打印5
,而.0
之后不会5.2
,如果是{{1}}或者,它会打印出来吗?
我环顾四周,但我发现的一切都是以这种或那种方式强迫它。
有人可以帮助我朝正确的方向发展吗?谢谢:))
答案 0 :(得分:2)
试试这个:
number.to_s.gsub(/\.?0*$/, '')
这甚至适用于number = "5.30" # => '5.3'
。
答案 1 :(得分:1)
一些肮脏的解决方案。
1
a = 5.0
puts a.ceil == a ? a.ceil : a
2
5.1.to_s.chomp ".0" #=> 5.1
5.0.to_s.chomp ".0" #=> 5
答案 2 :(得分:0)
你为什么要这样做? 5
和5.000
传达了不同的消息,因为它们具有不同数量的significant figures。第一个表示“五个给出或减半”,而后者表示“五到最接近的千分之一”。