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

Преобразование строки в десятичное число в рубине

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

Проблема: если я пытаюсь преобразовать аргумент в число, я получаю целое число без десятичных знаков.

# ARGV[0] is: 44.33

size = ARGV[0]

puts size.to_i
# size is: 44
# :(
4b9b3361

Ответ 1

Вы вызываете to_i, вы получаете целое число.

Попробуйте позвонить to_f, вы должны получить float.

Для более сложных методов преобразования строк смотрите здесь.

Ответ 4

Вы также можете использовать sprintf для точного числа десятичных точек:

a = 2.45
p sprintf "%.6f", a #=> "2.450000"