【erlang】如何将float转为list

前言

今天码代码的时候遇到了一个问题,我有一个 float 数据,我需要将它转为 list 或者 binary,这样我可以将这个数据和其他数据结合在一起。举个例子,我需要将 1.2 转为 “1.2” 或者 <<"1.2">>

解决方案

考虑到浮点数类型的特殊性,使用 lists:contact 和 float_to_list 这一类函数是行不通的,在不规定位数的情况下,这两种写法的返回都为科学计数法。而规定位数的情况下,或在规定的位数内进行四舍五入操作。举个例子,限定两位小数,则 1.223 变为 “1.22”,1.235 变为 “1.24”。而在位数不确定的情况下,此方法就无法使用了。
最后还是大佬出手,考虑到 jsx 解析 json 的时候,可以正确的获取上述情况的数据,解决方案如下:

 [Output] = io_lib:format("~p", [Value])

Value的类型可以为 float integer atom 等,不可以为 list binary tuple 等更高级的数据, 得到结果的 Output为 list 类型。

你可能感兴趣的:(【erlang】如何将float转为list)