处理Money的推荐数据类型是什么 - 在Elixir/Erlang中只有2位小数的数值?
我认为你在处理钱时应该总是使用整数.浮点运算可能会出现舍入错误,而且处理代码即使1美分也是不合适的.例如,而不是
amount = 99.99
Run Code Online (Sandbox Code Playgroud)
使用
amount_cents = 9999
Run Code Online (Sandbox Code Playgroud)
如果您将数量存储在数据库中,这是非常重要的,因为Elixir和您的数据库之间的转换可能会产生不良结果.