0

RubyのBigDecimalをセントに変換したいのですが、これが私がしたことです:

amount = BigDecimal('19.95')
#=> #<BigDecimal:7f80bc726b38,'0.1995E2',18(18)> 
amount_in_cents = amount*100
#=> #<BigDecimal:7f80bc794cc8,'0.1995E4',9(45)> 
amount_in_cents.to_f
#=> 1995.0
amount_in_cents.ceil
#=> 1995

これceilで、支払いプロバイダーに連絡する必要がある正しい金額がセント単位で表示されます。現時点では、ここで行ったことが正しいかどうかは 100% 確信が持てません。多分誰かがより良い方法を知っていますか?

4

1 に答える 1

0

を使用することもできますto_i。これは、小数のセントを扱うことを期待していない限り (この場合、to_iはゼロに向かって切り捨てられるようです)、意図をよりよく伝えます。

于 2012-10-07T13:44:38.287 に答える