在Ruby中,0.0 * -1 == -0.0
。
我有一个应用程序,其中我用-1
乘以一堆Float
对象,但我不喜欢输出中的-0.0
,因为它令人困惑。
有没有一种聪明的方法让Float#to_s
输出0.0
而不是-0.0
我完全可以通过某种擦洗/帮助器方法来运行每个Float
对象,但是下面的内容只会让我更加困惑:
def clean_output(amount)
if amount.zero?
0.0
else
amount
end
end
更新:
更准确地说,我想要一个可以在一大堆浮点数上运行的解决方案,其中一些是负的,一些是正的。负数应该保持为负数,除非它们是负0,即-0.0
。
示例:
clean_output(-0.0) #=> 0.0
clean_output(-3.0) #=> -3.0
clean_output(3.0) #=> 3.0
https://stackoverflow.com/questions/8711055
复制相似问题