2015-04-13 9 views
5

Zrobiłem nowy plac zabaw i napisałem kod w następujący sposób.Jak przekonwertować Int do Double na placu zabaw Swift?

var value = 33 //This will make an integer type of value variable with value 33 

value = 22.44 //This doesn't execute as its assigning Double/Float value to an integer. 

Próbowałem

1. 
value = Double(value) 
value = 44.55 //Error here 

2. 
value = Double(33.44) //Error here too. 

3. 
value : Double = 33.22 //Error here too. 

Teraz to, co należy zrobić, aby przypisać do wartości zmiennoprzecinkowych.

UWAGA: Jestem na poziomie nauki w Swift.

Dzięki.

+0

try wartości var = 33,0 –

Odpowiedz

12

Zgłaszanie var value = 33 określi typ wartości jako Int. Jeśli chcesz przypisać 33 i ustawić value jako Float lub Double, musisz zadeklarować typ var value : Double = 33 lub przekonwertować 33 na Double podczas przypisywania var value = Double(33).

+0

Co Gdybym najpierw przypisać 33 , będzie to liczba całkowita. a później nie mogę przekonwertować tego typu danych na Double? –

+2

Nie, nie można przekonwertować zadeklarowanego 'Int' na' Double'. Swift jest językiem statycznie pisanym, gdy zmienna ma typ, nie można go zmienić. – bontoJR

+0

Dobra droga. silny brak języka, a mimo to Apple mówi, że jest elastyczny;) –

0

Z pierwszej linii

var value = 33 

utworzono zmienną typu Int (bo 33 jest liczbą całkowitą dosłowny). Po tym nie można przypisać do tego innego typu, tylko s. Int. Powinieneś utworzyć inną zmienną do przechowywania wyniku konwersji.

1

Musisz ustawić typ danych w deklaracji zmiennej.

var value: Double = 33 

Ale można też zrobić to w taki sposób:

var value: Double 
value = 33 

określając ją jako var uczyni zmienna zmienny, więc po zdefiniowaniu można zmienić wartość

value = 33.2 
value = 46.1 

Jeśli definiujesz tylko stałą lub zmienną, która nie musi być zmieniana, najlepiej określasz ją tak:

let value: Double = 33.2 

Jeśli trzeba, że ​​jest to int z jakiegokolwiek powodu w pewnym momencie można przekazać je aż do funkcji lub zdefiniować ją tak:

let intValue = Int(value) 
Powiązane problemy