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


Elixir Float.floor用法及代碼示例


Elixir語言中 Float.floor 相關用法介紹如下。

用法:

floor(number, precision \\ 0)
@spec floor(float(), precision_range()) :: float()

將浮點數舍入為小於或等於 num 的最大數。

floor/2 還接受將浮點值向下舍入為任意小數位數(0 到 15 之間)的精度。該操作在二進製浮點上執行,無需轉換為十進製。

這個函數總是返回一個浮點數。 Kernel.trunc/1 可用於在之後將結果截斷為整數。

已知的問題

floor/2 用於浮點數的行為可能令人驚訝。例如:

iex> Float.floor(12.52, 2)
12.51

人們可能預計它會跌至 12.52。這不是錯誤。大多數小數不能表示為二進製浮點數,因此上述數字在內部表示為 12.51999999,這解釋了上述行為。

例子

iex> Float.floor(34.25)
34.0
iex> Float.floor(-56.5)
-57.0
iex> Float.floor(34.259, 2)
34.25

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Float.floor(number, precision \\ 0)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。