Wie konvertiere ich eine Zeichenfolge mit einem Dollar-Betrag wie "5.32"
oder "100"
zu einer ganzen Zahl in Cent wie 532
oder 10000
?Ruby: Konvertieren Dollar (String) in Cent (Integer)
Ich habe eine Lösung unter:
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
aber es scheint wackelig. Ich möchte sicher sein, da dies eine Eingabe für die PayPal-API sein wird.
Ich habe auch das Geld Juwel versucht, aber es war nicht in der Lage, Strings als Eingaben zu nehmen.
Ich sehe nichts falsch mit Ihrer Lösung. 'require 'bigdecimal'; (100 * BigDecimal.new ("5,32")). To_i # => 532; (100 * BigDecimal.new ("12")). To_i # => 1200'. Beachten Sie, dass '100 * BigDecimal.new (" 5.32 ")' eine große Dezimalzahl ist, genauso wie '2 * 3.1 # => 6.2' ein 'Float' ist. –