【发布时间】:2019-04-12 11:29:14
【问题描述】:
我正在尝试弄清楚如何将浮点数转换为字符串/二进制文件,但似乎并不像看起来那么容易
iex(1)> to_string(1200.00)
"1.2e3"
iex(2)> Float.to_string(1200.00)
"1.2e3"
我们需要 "1200.00" 出来......只是不是在指数符号中
【问题讨论】:
标签: elixir
我正在尝试弄清楚如何将浮点数转换为字符串/二进制文件,但似乎并不像看起来那么容易
iex(1)> to_string(1200.00)
"1.2e3"
iex(2)> Float.to_string(1200.00)
"1.2e3"
我们需要 "1200.00" 出来......只是不是在指数符号中
【问题讨论】:
标签: elixir
如果没有关于您的用例的更多详细信息,这将为您提供所需的结果:
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) 中被弃用:
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。
【讨论】: