如何将浮点十进制值转换为ruby中的整数

时间:2016-06-21 16:40:04

标签: ruby integer

如何获取float的十进制值并将其转换为ruby中的整数?

到目前为止我到目前为止有多远:

number = 12.55
decimal_length = number.to_s.split('.')[1].size #=> 2 
decimal = number.divmod(1)[1].round(decimal_length) #=> 0.55

在这里,如何将十进制转换为整数(55),以任何数字作为输入?

3 个答案:

答案 0 :(得分:1)

也许我误会了?但是你已经明白了,你只是在做额外的工作。

number = 12.55
number.to_s.split('.')[1].to_i
#  => 55 

答案 1 :(得分:1)

您可以使用number.to_i来获取整数。要获取小数值,您可以执行number%1

    number.to_i => 12
    number%1    => 0.5500000000000007

答案 2 :(得分:0)

发布时间不多但我希望它可能会有所帮助

decimal_length = n.to_s.split(".").last.size # 2
decimal = (n.abs.modulo(1)*10**decimal_length).round # 55