Ruby - строка преобразования для возврата float 0.0

В переменной хранится это значение: $10.00 И мне нужно получить этот 10.00

Я попытался преобразовать это значение в float:

new_price = '%.2f' % (price.to_f)

но я получаю только 0.0.

Что не так с этим? Я тоже пробовал

price = price.strip
price[0]=""
new_price = '%.2f' % (price.to_f)

Но даже это не помогло мне... где проблема?

Спасибо

Ответы

Ответ 1

Сначала нужно удалить $. Все это вот так:

'%.2f' % '$10.00'.delete( "$" ).to_f

или

'%.2f' % '$10.00'[1..-1].to_f

если вы любите плотность и можете встретить не доллары.

Ответ 2

Добавление к отложенному ответу:

Вам нужно сначала удалить $. Все это вот так:

'%.2f' % '$10.00'.delete( "$" ).to_f

или

'%.2f' % '$10.00'[1..-1].to_f

если вы любите плотность и можете встретить не доллары. вам нужно отформатировать код для вывода, чтобы убедиться, что вы получаете два десятичных знакa > с помощью

Вам нужно отформатировать строку вывода, чтобы вы получили два десятичных знака.

puts "Current amount: #{format("%.2f", amount)}"