我正在运行程序,返回0.0
作为一个浮点数。我需要将它转换为没有小数位的字符串。我应该怎么做?是的投入和成果的一些例子如下:如何将float 0.0转换为0的返回字符串?
convert_number 0.0
# => "0"
convert_number 1.5
# => "1.5"
convert_number 2.0
# => "2"
如何将我的代码方法“convert_number”
我正在运行程序,返回0.0
作为一个浮点数。我需要将它转换为没有小数位的字符串。我应该怎么做?是的投入和成果的一些例子如下:如何将float 0.0转换为0的返回字符串?
convert_number 0.0
# => "0"
convert_number 1.5
# => "1.5"
convert_number 2.0
# => "2"
如何将我的代码方法“convert_number”
这应该适合将浮动整数转换为正常整数的需要:
def convert_number(n)
n == n.to_i ? n.to_i : n
end
convert_number(0.0)
=> 0
convert_number(1.5)
=> 1.5
如果你需要做额外的转换为字符串,只要包装的convert_number
身体括号,并呼吁to_s
:
def convert_number_to_s(n)
(n == n.to_i ? n.to_i : n).to_s
end
convert_number_to_s(1.5)
=> "1.5"
convert_number_to_s(2.0)
=> "2"
根据您的需求,您可以使用下列方法之一:
> 0.0.to_i.to_s
=> "0"
> 0.1.ceil.to_s
=> "1"
> 0.1.round.to_s
=> "0"
这应该工作:
def convert_number n
(n == n.to_i) ? n.to_i.to_s : n.to_s
end
如果需要截断分开并转换为字符串,惯用的方式如下:任何需要任何自定义逻辑在这里
def convert_number n
(n == n.to_i) ? n.to_i : n
end
> convert_number(3.0)
=> 3
> convert_number(3.0).to_s
=> "3"
你目前的代码是什么?你有什么尝试? –
基本上,我正在做分工,为了不失去任何精度,我将数字除以6.0。乘法运行正常,但问题是如果结果是一个整数,我得到第一个小数位为0,但我希望它自动转换回整数。 –
可能重复[如何在Ruby中使用#{variable}格式化浮动字符串?](http://stackoverflow.com/questions/12389567/how-to-format-a-string-with-floats-in- ruby使用变量) –