Ruby Float 运算类
在Ruby中,Float类是Numeric类的一个子类。Float类的对象使用本地架构的双精度浮点表示法来表示实数。
公共实例方法
- Arithmetic Operations: 该方法对float进行各种算术运算。
1. Addition: 它返回浮点数与数值之和的结果。
- Subtraction: 它返回浮点数与数值之差的结果。
- Multiplication: 它返回浮点数和数值的除法结果。
- Division: 它返回浮点数和数值的除法结果。
- Modulo: 它返回浮点数和数字的摩尔值的结果。
- Exponent: 它返回浮点数的幂值和数值的浮点数的结果。
- Unary minus: 它返回浮点数字。
示例:
输出:
- **<=> ** : 这个方法返回-1,0,或+1,取决于float。如果float小于数值,那么它将返回-1,如果float等于数值,那么它将返回0,或者如果float大于数值,那么它将返回+1。
示例:
输出:
- == : 如果obj等于float,该方法返回真,否则返回假。
示例:
输出:
- abs : 该方法返回float的绝对值。
示例:
输出:
- ceil : 该方法返回大于或等于float的最小整数。这个方法的返回类型是int。
示例:
输出:
- divmod : 该方法将返回一个数组,其中包含num除以numeric得到的商和模。
示例:
输出:
- eql? : 本方法检查obj是否为Float,并且包含与float相同的值。如果它们包含相同的值,那么它将返回true,否则返回false。这个方法的返回类型是布尔值。
示例:
输出:
- finite? : 本方法检查float是否为有效的IEEE浮点数。如果float是有效的IEEE浮点数,那么它将返回true,否则它将返回false。
示例:
输出:
- floor : 该方法返回小于或等于float的最大整数。
示例:
输出:
- infinite? : 这个方法返回nil, -1, 或者+1,这取决于float。如果float是有限的,那么它返回nil,如果float是-无限的,那么它返回-1,或者如果float是+无限的,它返回+1。
示例:
输出:
- modulo: 这种方法类似于Float#%方法。
示例:
输出:
- nan? : 如果float是一个无效的IEEE浮点数,该方法返回真,否则返回假。这个方法的返回类型是布尔型。
示例:
输出:
- round: 该方法将浮点数四舍五入为最接近的整数值。这个方法的返回类型是int。
示例:
输出:
- to_f : 该方法返回float。
- to_i : 该方法将浮点数截断为整数。这个方法的返回类型是int。
示例:
输出:
- to_int : 这个方法类似于Float#to_i。
- to_s : 该方法返回一个字符串,其中包含自我的表示,以及一个固定或指数形式的数字。该调用可能会返回NaN、infinity和-infinity。
- truncate 。该方法等同于Float#to_i方法。这个方法的返回类型是int。
- zero? 。如果float是0.0,该方法返回真,否则返回假。这个方法的返回类型是布尔值。
示例:
输出:
Float类包含常量,这些常量列举如下。
常量 | 描述 |
---|---|
DIG | 保持双精度浮点数中最小的有效小数位数,默认为15。 |
EPSILON | 它持有1和大于1的最小双精度浮点数之间的差值,默认为2.2204460492503131e-16。 |
MANT_DIG | 它持有RADIX基数的尾数位数。默认为53。 |
MAX | 它持有双精度浮点数中可能的最大整数,默认为1.7976931348623157e+308。 |
MAX_10_EXP | 它代表双精度浮点数中最大的正指数,10升到这个幂数减去1。默认为308。 |
MAX_EXP | 它是双精度浮点中可能的最大指数值,默认为1024。 |
MIN | 它是双精度浮点数中最小的正归一化数字。默认为2.2250738585072014e-308。 |
MIN_10_EXP | 它是双精度浮点数中最小的负指数,10升到这个幂数减去1。默认为-307。 |
MIN_EXP | 它是双精度浮点数中可能的最小指数值。默认值为-1021 |
RADIX | 浮点数表示的拉德数,换句话说,它是浮点数的基数。在大多数系统中默认为2,代表10进制的小数。 |
ROUND | 它表示浮点运算的舍入模式。包括的值有:。 -1:如果模式是不确定的;0:如果向零舍入;1: 如果四舍五入是最接近可表示的值;2:如果四舍五入朝向+无穷大;3: 如果四舍五入朝向+无穷大; |
NaN | 它是一个表达式,代表一个 “非数字 “的值。 |
INFINITY | 它是一个代表正无穷的表达式。 |
Reference: https://ruby-doc.org/core-2.4.0/Float.html