Ruby Float 运算类

Ruby Float 运算类

在Ruby中,Float类是Numeric类的一个子类。Float类的对象使用本地架构的双精度浮点表示法来表示实数。

公共实例方法

  1. Arithmetic Operations: 该方法对float进行各种算术运算。
    1. Addition: 它返回浮点数与数值之和的结果。
float + numeric
  1. Subtraction: 它返回浮点数与数值之差的结果。
float - numeric
  1. Multiplication: 它返回浮点数和数值的除法结果。
float * numeric
  1. Division: 它返回浮点数和数值的除法结果。
float / numeric
  1. Modulo: 它返回浮点数和数字的摩尔值的结果。
float % numeric
  1. Exponent: 它返回浮点数的幂值和数值的浮点数的结果。
float ** numeric
  1. Unary minus: 它返回浮点数字。
float -@

示例:

# Ruby program to illustrate 
# Arithmetic operation
  
a = 2.1
b = 2
  
# Addition
c = a + b    
  
puts "addition #{c}"
  
# Subtraction
d = a - b    
  
puts "subtraction #{d}"
  
# Multiplication
e = a * b   
  
puts "multiplication #{e}"
  
# Division
f = a / b   
  
puts "division #{f}"
  
# Modulo
g = a % b   
  
puts "modulo  #{g}"
  
# Exponent
h = a ** b  
  
puts "exponent #{h}"
  
# Unary minus
i= -a       
  
puts "unary minus #{i}"

输出:

addition 4.1
subtraction 0.1
multiplication 4.2
division 1.05
modulo  0.1
exponent 4.41
unary minus -2.1
  1. **<=> ** : 这个方法返回-1,0,或+1,取决于float。如果float小于数值,那么它将返回-1,如果float等于数值,那么它将返回0,或者如果float大于数值,那么它将返回+1。
float <=> numeric --> 1, 0, +1 

示例:

# Ruby program to illustrate 
# <=> Method
  
puts 2.1 <=> 4       
puts 2.0 <=> 2       
puts 4.6 <=> 2       

输出:

-1
0
1
  1. == : 如果obj等于float,该方法返回真,否则返回假。
float == obj --> true or false

示例:

# Ruby program to illustrate 
# == Method
  
puts 3.8 == 4        
puts 3.8 == 3.8      

输出:

false
true
  1. abs : 该方法返回float的绝对值。
float.abs --> numeric

示例:

# Ruby program to illustrate 
# abs Method
  
puts (-54.56).abs    
puts (-65.04).abs     

输出:

54.56
65.04
  1. ceil : 该方法返回大于或等于float的最小整数。这个方法的返回类型是int。
float.ceil --> int

示例:

# Ruby program to illustrate 
# ceil Method
  
puts (4.1).ceil      
puts (4.0).ceil      
puts (-4.1).ceil     

输出:

5
4
-4
  1. divmod : 该方法将返回一个数组,其中包含num除以numeric得到的商和模。
float.divmod(numeric) --> array

示例:

# Ruby program to illustrate 
# divmod Method
  
p (45.0.divmod 5)   
p (98.0.divmod 5)   

输出:

[9, 0.0]
[19, 3.0]
  1. eql? : 本方法检查obj是否为Float,并且包含与float相同的值。如果它们包含相同的值,那么它将返回true,否则返回false。这个方法的返回类型是布尔值。
float.eql?(obj) --> true or false

示例:

# Ruby program to illustrate 
# eql? Method
  
puts 4.2.eql?(2)       
puts 1.2.eql?(1.2)      

输出:

false
true
  1. finite? : 本方法检查float是否为有效的IEEE浮点数。如果float是有效的IEEE浮点数,那么它将返回true,否则它将返回false。
float.finite? --> true or false

示例:

# Ruby program to illustrate 
# finite? Method
  
puts (45.0).finite?         
puts (45.0/0.0).finite?    

输出:

true
false
  1. floor : 该方法返回小于或等于float的最大整数。
float.floor --> int

示例:

# Ruby program to illustrate 
# floor Method
  
puts 2.2. floor          
puts (-4.6).floor        

输出:

2
-5
  1. infinite? : 这个方法返回nil, -1, 或者+1,这取决于float。如果float是有限的,那么它返回nil,如果float是-无限的,那么它返回-1,或者如果float是+无限的,它返回+1。
float.infinite? --> nil, -1, +1

示例:

# Ruby program to illustrate 
# infinite? Method
  
puts (1.1).infinite?            
puts (-1.1/0.0).infinite?      
puts (+1.1/0.0).infinite?      

输出:

nil
-1
1
  1. modulo: 这种方法类似于Float#%方法。
float.modulo(numeric) --> numeric

示例:

# Ruby program to illustrate 
# modulo Method
  
puts 32.45.modulo(20)      

输出:

12.450000000000003
  1. nan? : 如果float是一个无效的IEEE浮点数,该方法返回真,否则返回假。这个方法的返回类型是布尔型。
float.nan? --> true or false

示例:

# Ruby program to illustrate 
# nan? Method
  
puts (-2.2). nan?           
puts (0.0/0.0). nan?        

输出:

false
true
  1. round: 该方法将浮点数四舍五入为最接近的整数值。这个方法的返回类型是int。
float..round(digits=0) --> numeric

示例:

# Ruby program to illustrate 
# round Method
  
puts 6.7.round      
puts (-8.9).round     

输出:

7
-9
  1. to_f : 该方法返回float。
float.to_f --> float
  1. to_i : 该方法将浮点数截断为整数。这个方法的返回类型是int。
float.to_i --> int

示例:

# Ruby program to illustrate 
# to_i Method
  
puts 5.6.to_i   

输出:

5
  1. to_int : 这个方法类似于Float#to_i。
float.to_int --> int
  1. to_s : 该方法返回一个字符串,其中包含自我的表示,以及一个固定或指数形式的数字。该调用可能会返回NaN、infinity和-infinity。
float.to_s --> string 
  1. truncate 。该方法等同于Float#to_i方法。这个方法的返回类型是int。
float.truncate 
  1. zero? 。如果float是0.0,该方法返回真,否则返回假。这个方法的返回类型是布尔值。
float.zero? --> true or false

示例:

# Ruby program to illustrate 
# zero? Method
  
puts (0.0).zero?   
puts (1.4).zero?   

输出:

true
false

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程