四舍五入函数
floor
返回不大于 x
的最大四舍五入数字。
四舍五入数字是 1 / 10 * N 的倍数,或者在 1 / 10 * N 不精确的情况下,是适当数据类型的最接近数字。
整数参数可以使用负 N
参数进行四舍五入,使用非负 N
时,函数返回 x
,即不进行任何操作。
如果四舍五入导致溢出(例如,floor(-128, -1)
),结果是未定义的。
语法
参数
返回值
与 x
相同类型的四舍五入数字。
示例
查询:
结果:
查询:
结果:
ceiling
与 floor
类似,但返回不小于 x
的最小四舍五入数字。
语法
别名: ceil
truncate
与 floor
类似,但返回绝对值最大且绝对值小于或等于 x
的四舍五入数字。
语法
别名: trunc
。
示例
查询:
round
将值四舍五入到指定的小数位数。
该函数返回指定顺序的最接近数字。 如果输入值与两个相邻数字的距离相等,函数对于 Float* 输入使用银行家舍入,对于其他数字类型(Decimal*)向远离零的方向四舍五入。
语法
参数
x
— 要四舍五入的数字。 Float*, Decimal*,或 (U)Int*。N
— 要四舍五入到的小数位数。整数。默认为0
。- 如果
N > 0
,函数四舍五入到小数点右侧。 - 如果
N < 0
,函数四舍五入到小数点左侧。 - 如果
N = 0
,函数四舍五入到下一个整数。
- 如果
返回值:
与 x
相同类型的四舍五入数字。
示例
使用 Float
输入的示例:
使用 Decimal
输入的示例:
为了保留尾随零,启用设置 output_format_decimal_trailing_zeros
:
四舍五入到最接近数字的示例:
银行家舍入示例:
另见
roundBankers
将数字四舍五入到指定的小数位。
如果四舍五入数字正好位于两个数字之间,函数使用银行家舍入。
银行家舍入是一种对分数数字进行四舍五入的方法。
当四舍五入数字正好在两个数字之间时,四舍五入到指定小数位的最接近偶数位上。
例如:3.5 四舍五入到 4,2.5 四舍五入到 2。
这是 IEEE 754 中定义的浮点数的默认舍入方法。
round 函数对浮点数执行相同的四舍五入。
roundBankers
函数也以相同的方式对整数进行四舍五入,例如,roundBankers(45, -1) = 40
。
在其他情况下,函数将数字四舍五入到最接近的整数。
使用银行家舍入,您可以减少四舍五入数字对相加或相减结果的影响。
例如,数字 1.5、2.5、3.5、4.5 的不同四舍五入结果:
- 不四舍五入: 1.5 + 2.5 + 3.5 + 4.5 = 12。
- 银行家舍入: 2 + 2 + 4 + 4 = 12。
- 四舍五入到最接近整数: 2 + 3 + 4 + 5 = 14。
语法
参数
-
N > 0
— 函数四舍五入数字到小数点右侧给定位置。例如:roundBankers(3.55, 1) = 3.6
。 -
N < 0
— 函数四舍五入数字到小数点左侧给定位置。例如:roundBankers(24.55, -1) = 20
。 -
N = 0
— 函数四舍五入数字到整数。在这种情况下,可以省略该参数。例如:roundBankers(2.5) = 2
。 -
N
— 要四舍五入到的小数位数。整数。默认为0
。- 如果
N > 0
,函数四舍五入到小数点右侧。 - 如果
N < 0
,函数四舍五入到小数点左侧。 - 如果
N = 0
,函数四舍五入到下一个整数。
- 如果
返回值
使用银行家四舍五入方法四舍五入的值。
示例
查询:
结果:
银行家舍入的示例:
另见
roundToExp2
接受一个数字。如果该数字小于一,则返回 0
。否则,向下四舍五入到最接近的(整体非负)二的幂。
语法
参数
返回值
示例
查询:
结果:
roundDuration
接受一个数字。如果该数字小于一,则返回 0
。否则,向下四舍五入到常用时长集合中的数字:1, 10, 30, 60, 120, 180, 240, 300, 600, 1200, 1800, 3600, 7200, 18000, 36000
。
语法
参数
返回值
0
,当num
。- 否则,返回:
1, 10, 30, 60, 120, 180, 240, 300, 600, 1200, 1800, 3600, 7200, 18000, 36000
之一。 UInt16。
示例
查询:
结果:
roundAge
接受一个在人类年龄的常用范围内的数字,并返回该范围内的最大值或最小值。
语法
参数
返回值
- 返回
0
,当 。 - 返回
17
,当 。 - 返回
18
,当 。 - 返回
25
,当 。 - 返回
35
,当 。 - 返回
45
,当 。 - 返回
55
,当 。
类型: UInt8。
示例
查询:
结果:
roundDown
接受一个数字并向下四舍五入到指定数组中的一个元素。如果该值小于最小值,则返回最小值。
语法
参数
返回值
示例
查询:
结果: