Bạn đang thực hiện phân chia, mặc dù không phải là bạn mong đợi. Có rất nhiều cách khác nhau để phân chia số nguyên trong Ruby:
# Integer division:
5/4 # => 1
# Floating point division:
5.fdiv(4) # => 1.25
# Rational division:
5.quo(4) # => Rational(5, 4)
Bạn cũng có thể chuyển đổi một trong số nguyên của bạn vào một Float
hoặc một Rational
:
5.to_f/4 # => 1.25
5.to_r/4 # => Rational(5, 4)
Lưu ý rằng lần đầu tiên kêu gọi fdiv
trực tiếp là faster vì gọi to_f
và sau đó sử dụng toán tử /
. Nó cũng làm cho nó rõ ràng rằng bạn đang sử dụng phân chia điểm nổi.
Nguồn
2012-06-25 22:19:57
Nếu cả hai toán hạng là số nguyên, Ruby thực hiện phân chia số nguyên: http://mathworld.wolfram.com/IntegerDivision.html –