當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。