-2

我现在的问题是:

我有变量 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)
4

2 回答 2

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 经常被忽视,并提供了一组非常有用的格式化列表/字符串

于 2013-01-09T13:43:56.243 回答
1

integer_to_list 在这种情况下不起作用,因为 37.5 是浮点数而不是整数。Erlang 确实有 float_to_list,但输出通常非常不可用。

相反,我建议查看 mochiweb 项目,以便将浮点数转换为列表。特别是mochinum模块:

> M = 37.5,
> mochinum:digits(M).
"37.5"
于 2013-01-09T12:53:41.063 回答