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


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。