我试图弄清楚如何将浮点转换为字符串/二进制,但似乎并不像看起来那么容易
iex(1)> to_string(1200.00)
"1.2e3"
iex(2)> Float.to_string(1200.00)
"1.2e3"
我们需要“1200.00”才能出来......只是不在指数表示法中
如果没有有关您的用例的更多详细信息,这将为您提供所需的结果:
iex(1)> Float.to_string(1200.00, decimals: 2)
"1200.00"
它正在使用 erlang 的float_to_binary/2
并将在 Elixir 1.4 中弃用(https://github.com/elixir-lang/elixir/blob/v1.3.2/lib/elixir/lib/float.ex#L225 https://github.com/elixir-lang/elixir/blob/v1.3.2/lib/elixir/lib/float.ex#L225):
def to_string(float, options) do
:erlang.float_to_binary(float, expand_compact(options))
end
在 Elixir 1.8 中,仍然有Float.to_string/1
. Float.to_string/2
已弃用,建议使用:erlang.float_to_binary/2
直接地。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)