Menu
Coddy logo textTech

Konwersja typów

Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 31 z 88.

Gdy odczytujesz dane wejściowe za pomocą gets, Ruby zawsze zwraca ciąg znaków, nawet jeśli użytkownik wpisze liczbę. Staje się to problemem, gdy musisz wykonywać obliczenia.

age = gets.chomp
puts age + 5

Ten kod spowoduje błąd, ponieważ nie można dodać liczby do ciągu znaków. Aby to naprawić, musisz przekonwertować ciąg znaków na liczbę za pomocą .to_i (na liczbę całkowitą) lub .to_f (na liczbę zmiennoprzecinkową):

age = gets.chomp.to_i
puts age + 5

Teraz, jeśli użytkownik wpisze „20”, wynikiem będzie 25. Użyj .to_f, gdy potrzebujesz liczb dziesiętnych:

price = gets.chomp.to_f
puts price * 1.1

Możesz również konwertować liczby z powrotem na ciągi znaków za pomocą .to_s. Przydaje się to, gdy chcesz łączyć liczby z tekstem bez używania interpolacji ciągów znaków:

count = 42
puts "Count: " + count.to_s
challenge icon

Wyzwanie

Łatwy

Wczytaj od użytkownika dwie liczby. Pierwsza wartość wejściowa to liczba całkowita, a druga to liczba dziesiętna.

Oblicz i wyświetl w osobnych wierszach:

  1. Sumę obu liczb
  2. Iloczyn obu liczb (mnożenie)

Pamiętaj, aby przed wykonaniem obliczeń przekonwertować każdą wartość wejściową na odpowiedni typ liczbowy.

Na przykład, jeśli wartości wejściowe to 5 i 2.5, wynik powinien wyglądać tak:

7.5
12.5

Spróbuj swoich sił

# Wczytaj dane wejściowe
integer_num = gets.chomp.to_i
float_num = gets.chomp.to_f

# TODO: Napisz poniżej kod obliczający sumę i iloczyn


# Wyświetl wyniki (wypisz sumę i iloczyn w osobnych wierszach)
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Ruby online