Подтвердить что ты не робот

Отбрасывание десятичной точки

Мне нужно сравнить набор данных, в котором одна партия данных поступает с валютой с десятичными знаками, такими как 246.54, новые данные удаляют десятичные знаки, не округляют и имеют только 246... поэтому мне нужно удалить десятичные знаки от первой партии, поэтому я могу сравнить. Как мне это сделать без округления?

4b9b3361

Ответ 1

Используйте функцию пола. Он дает первое целое число, меньшее или равное количеству, которое вы его кормите.

1.9.3-p194 :003 > i = 246.54
  => 246.54 
1.9.3-p194 :004 > i.floor
  => 246 

Ответ 2

if mynumber >= 0 then 
    mynumber = mynumber.floor
else
    mynumber = 0 - mynumber
    mynumber = mynumber.floor
    mynumber = 0 - mynumber
end

Ответ 3

Вы можете выполнить округление в рубине:

246.54 .to_nearest_i