Yanıtlar:
Tamsayı bölme yapıyor. Aşağıdakilerden birini Float
ekleyerek numaralardan birini yapabilirsiniz .0
:
9.0 / 5 #=> 1.8
9 / 5.0 #=> 1.8
.to_f
Eğer örneğin tamsayılar içeren iki değişken bölüyorlar eğer cevap daha iyidir a.to_f / b
. Kelimenin tam anlamıyla iki sabit kodlu tamsayıyı bölüyorsanız (muhtemelen gariptir), o zaman kullanmak 9.0 / 5
iyidir.
Tamsayı bölme yapıyor. to_f
Olayları kayan nokta moduna zorlamak için kullanabilirsiniz :
9.to_f / 5 #=> 1.8
9 / 5.to_f #=> 1.8
Değerleriniz değişmez değerler yerine değişkense bu da işe yarar. Bir değeri bir kayan noktaya dönüştürmek, tüm ifadeyi kayan nokta aritmetiğine zorlamak için yeterlidir.
Numeric#fdiv
Bunun yerine kullanabileceğiniz yöntem de vardır :
9.fdiv(5) #=> 1.8
Ruby mathn
modülünü dahil edebilirsiniz .
require 'mathn'
Bu şekilde, bölünmeyi normal şekilde yapabileceksiniz.
1/2 #=> (1/2)
(1/2) ** 3 #=> (1/8)
1/3*3 #=> 1
Math.sin(1/2) #=> 0.479425538604203
Bu şekilde, örneğin rasyonel olarak ifade edilemeyen bir işlemi uygulamaya karar verene kadar tam bir bölüm (Rational sınıfı) elde edersiniz Math.sin
.
Değişim 5
To 5.0
. Tamsayı bölümü alıyorsunuz.
Fixnum # to_r burada belirtilmemiş, yakut 1.9'dan beri tanıtıldı. Fixnum'u rasyonel forma dönüştürür. Aşağıda kullanım örnekleri verilmiştir. Bu, kullanılan tüm sayılar Fixnum olduğu sürece kesin bir bölünme de sağlayabilir.
a = 1.to_r #=> (1/1)
a = 10.to_r #=> (10/1)
a = a / 3 #=> (10/3)
a = a * 3 #=> (10/1)
a.to_f #=> 10.0
Rasyonel bir sayı üzerinde çalışan bir şamandıranın, şamandıra sonucunu kapsadığı örnek.
a = 5.to_r #=> (5/1)
a = a * 5.0 #=> 25.0
def method; a - b/8; end
Çağırılırken son sentezleme dönüş değeri olarak, yöntemi hesaplama sonucunu döndürecektir.