2015-04-13 20 views
5

Ho creato un nuovo parco giochi e ho scritto il codice come segue.Come convertire Int in Double nel playground 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. 

ho cercato

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. 

Ora cosa devo fare per assegnare in virgola mobile a valore.

NOTA: Sono a livello di apprendimento in Swift.

Grazie.

+0

prova valore var = 33,0 –

risposta

12

La dichiarazione var value = 33 dedurrà il tipo di valore come Int. Se si desidera assegnare 33 e rendere value come Float o Double, è necessario dichiarare il tipo var value : Double = 33 o convertire 33 in Double mentre si assegna var value = Double(33).

+0

Che cosa succede se prima assegnare 33 , sarà un numero intero e più tardi non riesco a convertire quel tipo di dati in Double? –

+2

No, non è possibile convertire un 'Int' dichiarato in un' Double'. Swift è un linguaggio tipizzato staticamente, una volta che una variabile ha un tipo, non può essere modificata. – bontoJR

+0

Okay, caro. una forte mancanza di linguaggio, Apple continua a dire che è flessibile;) –

0

Con la prima linea

var value = 33 

è stata creata una variabile con il tipo di Int (perché 33 è un intero letterale). Dopo di che, non puoi assegnare nessun altro tipo a questo, solo Int s. Dovresti creare un'altra variabile per memorizzare il risultato della conversione.

1

È necessario impostare il tipo di dati all'interno della dichiarazione della variabile.

var value: Double = 33 

Ma si potrebbe anche fare in questo modo:

var value: Double 
value = 33 

definendolo un var farà la variabile mutevole, così dopo aver definito è possibile modificare il valore

value = 33.2 
value = 46.1 

Se stai solo definendo una costante, o una variabile che non ha bisogno di cambiare, la stai meglio definendo in questo modo:

let value: Double = 33.2 

Se avete bisogno di questo per essere un Int per qualsiasi motivo, ad un certo punto si può passare attraverso a una funzione o di definirlo in questo modo:

let intValue = Int(value) 
Problemi correlati