当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang float_to_list(Float, Options)用法及代码示例


float_to_list(Float, Options) -> string()
OTP R16B
类型:
Float = float()
Options = [Option]
Option = 
    {decimals, Decimals :: 0..253} |
    {scientific, Decimals :: 0..249} |
    compact | short

使用固定小数点格式返回与 Float 的文本表示形式相对应的字符串。

可用选项:

  • 如果指定了选项decimals,则返回值最多包含Decimals小数点后的位数。如果该数字不适合 256 字节的内部静态缓冲区,该函数将抛出 badarg

  • 如果指定了选项compact,则列表末尾的尾随零将被截断。该选项仅与选项 decimals 一起使用才有意义。

  • 如果指定了选项 scientific,则浮点数将使用科学记数法进行格式化,精度为 Decimals 位数。

  • 如果指定了选项 short ,则浮点数将使用仍保证 F =:= list_to_float(float_to_list(F, [short])) 的最小位数进行格式化。当浮点数在 (-2⁵³, 2⁵³) 范围内时,将使用产生最少字符数的表示法(科学记数法或普通十进制记数法)。超出范围 (-2⁵³, 2⁵³) 的浮点数始终使用科学记数法进行格式化,以避免在进行算术运算时产生混乱的结果。

  • 如果Options[],该函数的行为如下 float_to_list/1.

例子:

> float_to_list(7.12, [{decimals, 4}]).
"7.1200"
> float_to_list(7.12, [{decimals, 4}, compact]).
"7.12"
> float_to_list(7.12, [{scientific, 3}]).
"7.120e+00"
> float_to_list(7.12, [short]).
"7.12"
> float_to_list(0.1+0.2, [short]).
"0.30000000000000004"
> float_to_list(0.1+0.2)
"3.00000000000000044409e-01"

在最后一个例子中,float_to_list(0.1+0.2)评估为"3.00000000000000044409e-01"。其原因解释于浮点数的表示.

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 float_to_list(Float, Options) -> string()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。