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