如何在浮点数中删除小数点及其后的所有内容?

时间:2015-04-21 18:03:55

标签: ruby-on-rails ruby

如何只打印浮点数的非十进制数?我指的是小数点前的所有内容。 @float.round(0)不起作用,因为它会对数字进行舍入。我想简单地删除小数点及其后的所有内容。

例如,599.9999应打印“599”。

我也不能做<%= @float.chars.first.to_s + @float.chars.second.to_s + ...,因为它不确定浮动的时间长度。

3 个答案:

答案 0 :(得分:3)

您可以使用Ruby中的to_integer方法去除float的整数部分:

>123.434343.to_i
>123

http://ruby-doc.org/core-2.2.0/Integer.html

刚刚发现它已经回答了类似的问题:

Split float into integer and decimals in Ruby

答案 1 :(得分:2)

@ float.truncate应该完成这项工作。与to_i和to_int相同的功能。

答案 2 :(得分:2)

这很简单,只需:

599.9999.to_i