红宝石中的数字
Ruby 支持两种类型的数字:
- 整数:整数只是一个数字序列,例如 12、100。或者换句话说,没有小数点的数字称为整数。在 Ruby 中,整数是类Fixnum (32 或 64 位)或Bignum (用于更大的数字)的对象。
- 浮点数:带小数点的数字通常称为浮点数,例如 1.2、10.0。浮点数是Float类的对象。
注意:下划线可以用来分隔一千个地方,例如:25_120.55 与数字 25120.55 相同。
示例 1: Ruby 中数字的基本算术运算如下所示。在 Ruby 中,只有当使用的所有数字都是整数时,数学运算才会产生整数,除非我们将结果作为浮点数。
Ruby
# Addition of two integers
puts 2 + 3
# Addition of integer and float
puts 2 + 3.0
# Subtraction of two integers
puts 5 - 3
# Multiplication and division of two integers
puts 2 * 3
puts 6 / 2
# Exponential operation
puts 2 ** 3
Ruby
# Modulus operation on numbers
puts 10 % 3
puts 10 % -3
puts -10 % 3
Ruby
num1 = -20
num2 = 10.2
# abs() method returns absolute value of number
puts num1.abs()
# round() method returns the number after rounding
puts num2.round()
# ceil() and floor() function for numbers in Ruby
puts num2.ceil()
puts num2.floor()
输出:
5
5.0
2
6
3
8
示例 2:在 Ruby 中,对于 Modulus(%)运算符,结果的符号始终与第二个操作数的符号相同。因此,10 % -3 为 -2,-10 % 3 为 2。
红宝石
# Modulus operation on numbers
puts 10 % 3
puts 10 % -3
puts -10 % 3
输出:
1
-2
2
示例 3: Ruby 中数字的其他数学运算如下所示。
红宝石
num1 = -20
num2 = 10.2
# abs() method returns absolute value of number
puts num1.abs()
# round() method returns the number after rounding
puts num2.round()
# ceil() and floor() function for numbers in Ruby
puts num2.ceil()
puts num2.floor()
输出:
20
10
11
10