我现在的问题是:
我有变量M,其中包含:37.5(如您所见为整数)
我想转换M以便成为字符串“37.5”
所以37.5应该变成“37.5”
我尝试使用功能:
M2=integer_to_list(M)
但是当我执行此功能时,它会显示以下错误:
** exception error: bad argument
in function integer_to_list/1
called as integer_to_list(37.5)
答案 0 :(得分:1)
integer_to_list在那种情况下不起作用,因为37.5是一个浮点而不是一个整数。 Erlang确实有float_to_list,但输出通常很不可用。
相反,我建议调查mochiweb项目,以便将浮点数转换为列表。特别是mochinum模块:
> M = 37.5,
> mochinum:digits(M).
"37.5"
答案 1 :(得分:1)
@chops有一个很好的答案,IMO(使用mochinum:digits / 1),但你可能也会看到io_lib模块。例如:
8> io_lib:format("~.2f",[37.5]).
["37.50"]
9> io_lib:format("~.1f",[37.5]).
["37.5"]
我意识到这可能不是你想要的,在这种情况下我认为查看/使用mochinum模块是一种有效的方法,但是io_lib经常被忽略并提供一组非常有用的函数格式化列表/字符串