Elixir是否有一个接受整数和浮点数并将它们转换为字符串的函数?
我需要这样的东西:
a = 3
b = 3.14
number_to_binary(a)
% => "3"
number_to_binary(b)
% => "3.14"
Elixir中有没有这样的功能?我查看了文档但没有看到任何内容。我还检查了Erlang文档,但也没有看到这样的函数。
答案 0 :(得分:17)
您也可以使用to_string来实现此目的:
iex(1)> to_string(3)
"3"
iex(2)> to_string(3.14)
"3.14"
或字符串插值:
iex(3)> "#{3.14}"
"3.14"
iex(4)> "#{3}"
"3"
如果你真的想要一个仅转换数字的函数,并且如果给出了其他任何东西则引发,你可以定义自己的:
defmodule Test do
def number_to_binary(x) when is_number(x), do: to_string(x)
end
答案 1 :(得分:2)
对于每种类型,都有一个功能:
如果您需要常规number_to_binary
功能,请尝试使用inspect
(Kernel.inspect
,而不是IO.inspect
)。
a = 3
b = 3.14
inspect a
% => "3"
inspect b
答案 2 :(得分:1)
检查这个
iex(1)> inspect(3)
"3"
iex(2)> inspect(3.14)
"3.14"
iex(3)> a = inspect(3.14)
"3.14"
iex(4)> a
"3.14"