最近我遇到了一个代码片段,它将字符串作为输入并返回浮点值,但我对3和4构造中的行感到困惑。有人请解释一下。
as_number(S) ->
case string:to_float(S) of
{error, no_float} -> list_to_integer(S);
{N, _} -> N
end.
答案 0 :(得分:2)
函数select
column1,
(
Case when ABC < 0 then CONVERT(varchar(50), Convert(int,PQR)) + "/" + CONVERT(varchar(50), Convert(int,ABC))
else CONVERT(varchar(50), Convert(int,PQR))
end
) as column2,
column3,
column4
FROM SAMPLE_TABLE
接受一个字符串(这是erlang中的列表)并尝试将其转换为float。它期望有效的文本代表一个浮点数(ASCII数字),然后是字符串的其余部分。返回值是string:to_float
或{Float, Rest}
的元组,Rest是字符串的剩余部分,不是ASCII数字。在这种情况下,如果字符串无法转换为float,它会尝试将列表转换为整数,这可能不起作用,具体取决于字符串的内容。