我正在尝试打印出一个具有价值的浮点数5
当它打印出来时我得到的是5.0
,所以我的问题是:
我如何做到这一点,如果值是 just 5
,它只会在5
没有.0
后面的情况下打印,如果是5.2
这样,它会打印出来?
我环顾四周,但我发现的只是以一种或另一种方式强制它。
有人可以帮助我朝着正确的方向前进吗?谢谢 :)
我正在尝试打印出一个具有价值的浮点数5
当它打印出来时我得到的是5.0
,所以我的问题是:
我如何做到这一点,如果值是 just 5
,它只会在5
没有.0
后面的情况下打印,如果是5.2
这样,它会打印出来?
我环顾四周,但我发现的只是以一种或另一种方式强制它。
有人可以帮助我朝着正确的方向前进吗?谢谢 :)
尝试这个:
number.to_s.gsub(/\.?0*$/, '')
这甚至适用于number = "5.30" # => '5.3'
.
几个肮脏的解决方案。
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
你为什么要这样做?5
并5.000
传达不同的信息,因为它们具有不同数量的有效数字。第一个表示“五给或减半”,而后者表示“五到最接近的千分之一”。