Elixir語言中 Float.round
相關用法介紹如下。
用法:
round(float, precision \\ 0)
@spec round(float(), precision_range()) :: float()
將浮點值四舍五入為任意數量的小數位數(0 到 15 之間)。
舍入方向始終與半向上相關。該操作在二進製浮點上執行,無需轉換為十進製。
這個函數隻接受浮點數並且總是返回一個浮點數。如果您想要一個同時接受浮點數和整數並始終返回整數的函數,請使用
。Kernel.round/1
已知的問題
用於浮點數的行為可能令人驚訝。例如:round/2
iex> Float.round(5.5675, 3)
5.567
人們可能預計它會向上取整至 5.568 的一半。這不是錯誤。大多數小數不能表示為二進製浮點數,因此上述數字在內部表示為 5.567499999,這解釋了上述行為。如果要對小數進行精確舍入,則必須使用十進製庫。上述行為也符合參考實現,例如 David M. Gay 的“Correctly Rounded Binary-Decimal and Decimal-Binary Conversions”。
例子
iex> Float.round(12.5)
13.0
iex> Float.round(5.5674, 3)
5.567
iex> Float.round(5.5675, 3)
5.567
iex> Float.round(-5.5674, 3)
-5.567
iex> Float.round(-5.5675)
-6.0
iex> Float.round(12.341444444444441, 15)
12.341444444444441
相關用法
- Elixir Float.ratio用法及代碼示例
- Elixir Float.to_charlist用法及代碼示例
- Elixir Float.to_string用法及代碼示例
- Elixir Float.ceil用法及代碼示例
- Elixir Float.pow用法及代碼示例
- Elixir Float.floor用法及代碼示例
- Elixir Float.parse用法及代碼示例
- Elixir File.cp_r用法及代碼示例
- Elixir File.rm用法及代碼示例
- Elixir File.rmdir用法及代碼示例
- Elixir File.exists?用法及代碼示例
- Elixir File用法及代碼示例
- Elixir File.touch!用法及代碼示例
- Elixir File.stream!用法及代碼示例
- Elixir Function.identity用法及代碼示例
- Elixir File.rename用法及代碼示例
- Elixir File.open用法及代碼示例
- Elixir Function用法及代碼示例
- Elixir File.rm_rf用法及代碼示例
- Elixir File.regular?用法及代碼示例
- Elixir Function.info用法及代碼示例
- Elixir Function.capture用法及代碼示例
- Elixir File.touch用法及代碼示例
- Elixir File.dir?用法及代碼示例
- Elixir StringIO.flush用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Float.round(float, precision \\ 0)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。