在Erlang中,什么是浮点数?它返回的元组的结构是什么?

在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

最近我遇到了一个以字符串作为输入并返回浮点值的代码段,但我对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数字)的有效文本,后跟字符串的其余部分。返回值是
{Float,Rest}
{error,Reason}
的元组,Rest是字符串的剩余部分,不是ASCII数字。在本例中,如果字符串无法转换为浮点,它会尝试将列表转换为整数,这可能不起作用,具体取决于字符串的内容。

您知道有语言文档,对吗?这个问题唯一能解决的办法是,如果你把它改成“如何在Erlang中使用匹配来断言成功的返回值?”这样的话,这实际上是一个关于语言核心概念的不错的问题,一个没有那么明显没有研究过的问题,比如让别人告诉你标准库函数的类型规范。点击任何带有“Erlang字符串:to_float”的搜索引擎,您将首先获得字符串模块文档。