gpt4 book ai didi

Ruby:将美元(字符串)转换为美分(整数)

转载 作者:数据小太阳 更新时间:2023-10-29 07:20:35 25 4
gpt4 key购买 nike

如何将带有美元金额的字符串(例如 "5.32""100")转换为以美分表示的整数金额,例如 532 还是 10000

我有以下解决方案:

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

但它看起来很不稳定。我想确定,因为这将是对 PayPal API 的输入。

我也尝试过 money gem,但它无法将字符串作为输入。

最佳答案

您可以使用 String#to_r (“to rational”)以避免舍入错误。

def dollars_to_cents(dollars)
(100 * dollars.to_r).to_i
end

dollars_to_cents("12")
#=> 1200
dollars_to_cents("10.25")
#=> 1025
dollars_to_cents("-10.25")
#=> -1025
dollars_to_cents("-0")
#=> 0

关于Ruby:将美元(字符串)转换为美分(整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com