我现在的问题是:
我有变量 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)
我现在的问题是:
我有变量 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)
@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 经常被忽视,并提供了一组非常有用的格式化列表/字符串
integer_to_list 在这种情况下不起作用,因为 37.5 是浮点数而不是整数。Erlang 确实有 float_to_list,但输出通常非常不可用。
相反,我建议查看 mochiweb 项目,以便将浮点数转换为列表。特别是mochinum模块:
> M = 37.5,
> mochinum:digits(M).
"37.5"