1

我正在尝试打印出一个具有价值的浮点数5

当它打印出来时我得到的是5.0,所以我的问题是:

我如何做到这一点,如果值是 just 5,它只会在5没有.0后面的情况下打印,如果是5.2这样,它会打印出来?

我环顾四周,但我发现的只是以一种或另一种方式强制它。

有人可以帮助我朝着正确的方向前进吗?谢谢 :)

4

3 回答 3

2

尝试这个:

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

这甚至适用于number = "5.30" # => '5.3'.

于 2010-09-04T11:42:54.103 回答
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
于 2010-09-04T11:40:35.137 回答
0

你为什么要这样做?55.000传达不同的信息,因为它们具有不同数量的有效数字。第一个表示“五给或减半”,而后者表示“五到最接近的千分之一”。

于 2010-09-04T13:45:56.413 回答