在Erlang中有效地截断字符串“float”

时间:2016-07-04 17:00:24

标签: erlang

我有一个字符串可以是这样的:“100.4”,“100.4867”,“100.0”。我想截断它,以便它在句点之后最多有两位数。例如:“100.4”,“100.48”,“100.0”。在Erlang中这样做的有效方法是什么?

2 个答案:

答案 0 :(得分:4)

如果你确定,那些字符串包含float的正确表示,可以这样做:

List = [  "100.4", "100.4867", "100.0"].
[fun()->lists:sublist(X,string:chr(X,$.)+2) end() || X<-List].  

和结果:

["100.4","100.48","100.0"]

如果没有 - 添加这些案件的处理。

正如Lyn Headley在评论中正确指出的那样,匿名函数不是必需的,你可以这样做:

[lists:sublist(X,string:chr(X,$.)+2) || X<-List].

答案 1 :(得分:2)

如果您询问高效实施:

GL_LINEAR