在Erlang中,什么是浮点数?它返回的元组的结构是什么?
最近我遇到了一个以字符串作为输入并返回浮点值的代码段,但我对3和4构造中的行感到困惑。请任何人解释一下在Erlang中,什么是浮点数?它返回的元组的结构是什么?,erlang,Erlang,最近我遇到了一个以字符串作为输入并返回浮点值的代码段,但我对3和4构造中的行感到困惑。请任何人解释一下 as_number(S) -> case string:to_float(S) of {error, no_float} -> list_to_integer(S); {N, _} -> N end. 函数string:to_float接收一个字符串(在erlang中是一个列表),并尝试将其转换为float。它需要表示浮点(ASCII
as_number(S) ->
case string:to_float(S) of
{error, no_float} -> list_to_integer(S);
{N, _} -> N
end.
函数
string:to_float
接收一个字符串(在erlang中是一个列表),并尝试将其转换为float。它需要表示浮点(ASCII数字)的有效文本,后跟字符串的其余部分。返回值是{Float,Rest}
或{error,Reason}
的元组,Rest是字符串的剩余部分,不是ASCII数字。在本例中,如果字符串无法转换为浮点,它会尝试将列表转换为整数,这可能不起作用,具体取决于字符串的内容。您知道有语言文档,对吗?这个问题唯一能解决的办法是,如果你把它改成“如何在Erlang中使用匹配来断言成功的返回值?”这样的话,这实际上是一个关于语言核心概念的不错的问题,一个没有那么明显没有研究过的问题,比如让别人告诉你标准库函数的类型规范。点击任何带有“Erlang字符串:to_float”的搜索引擎,您将首先获得字符串模块文档。