我正在创建一个rails应用程序,用户将在以太坊和其他加密货币中拥有帐户余额。目前我将用户余额存储为浮动。然而,这是一种非常糟糕的方法,因为加密货币通常可以分为8位数,因此任何浮点错误都会导致资金的巨大损失/收益。如何存储用户余额(我应该使用哪种数据类型)以免导致浮点错误?感谢
答案 0 :(得分:2)
我建议将值存储为整数。只需在存储它们时将货币值乘以一百万(或其他),并在应用程序中根据需要进行转换。
答案 1 :(得分:1)
Ruby有一个特殊的类:
BigDecimal - > https://ruby-doc.org/stdlib-2.4.0/libdoc/bigdecimal/rdoc/BigDecimal.html