【发布时间】:2020-03-12 10:50:41
【问题描述】:
在 Elixir/Erlang 中处理 Money 的推荐数据类型 - 仅包含 2 位小数的数值是什么?
【问题讨论】:
-
我试过十进制,在混合数值数据上使用 Enum.reduce 时遇到问题
-
您可以始终确保您使用的数据是 Decimal 结构。
-
@CharlesOkwuagwu Justin 可能意味着
r.data |> Enum.map(&Decimal.new/1) |> Enum.reduce(Decimal.new(0), &sum.(&1, &2))。即使r.data包含本地数字类型和Decimals 的混合,这也将起作用。 -
那么然后将 1 转换为 Decimal 并使用 Decimal.add 和类似的功能。