Вы должны использовать .replace(..)
или что-то еще, что может удалить символы для удаления доллара, например:
moneystring = '-$180.00'
print Money(float(moneystring<b>.replace('$', '')</b>.replace(',', '')), 'USD')
Это необходимо, так как .strip(..)
удаляет , ведущий и трейлинг символов.Но для строки '-$180.00'
, $
это , а не начальный или конечный символ.
При этом я настоятельно советую вам не использовать float(..)
, так как это неточно.Money
внутренне использует десятичное число.Так что лучше обработайте это как:
from moneyed import Money, USD
moneystring = '-$180.00'
print Money(moneystring.replace('$', '').replace(',', '')), USD)