Ruby: Convertir dólar (String) a cents (Integer)

¿Cómo convierto una cadena con una cantidad en dólares como"5.32" o"100" a una cantidad entera en centavos como532 o10000?

Tengo una solución a continuación:

dollar_amount_string = "5.32"
dollar_amount_bigdecimal = BigDecimal.new(dollar_amount_string)
cents_amount_bigdecimal = dollar_amount_bigdecimal * BigDecimal.new(100)
cents_amount_int = cents_amount_bigdecimal.to_i

Pero parece torpe. Quiero estar seguro porque esto será una entrada a la API de PayPal.

También probé la gema del dinero, pero no fue capaz de tomar cadenas como entradas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta