2015-06-05 14 views
7

Sono un designer che sta studiando per imparare Swift e sono un principiante.Moltiplicare le variabili e raddoppia in swift

Non ho alcuna esperienza.

Sto provando a creare un calcolatore di suggerimenti utilizzando il codice di base nel parco giochi di Xcode.

Ecco quello che ho finora.

var billBeforeTax = 100 
var taxPercentage = 0.12 
var tax = billBeforeTax * taxPercentage 

ottengo l'errore:

Binary operator '*' cannot be applied to operands of type 'Int' and 'Double'

Questo significa che non posso moltiplicare le doppie?

Mi mancano i concetti di base di variabili e doppie qui?

+1

Su una nota indipendenti - è preferibile che, dove è possibile, si utilizza 'let' invece di' var'. – ABakerSmith

+0

Grazie! Tienilo a mente – bmoondesign

+0

Questo è un duplicato ... fammi trovare quello che è un duplicato di ... – nhgrif

risposta

18

È possibile solo più due dello stesso tipo di dati.

var billBeforeTax = 100 // Interpreted as an Integer 
var taxPercentage = 0.12 // Interpreted as a Double 
var tax = billBeforeTax * taxPercentage // Integer * Double = error 

Se si dichiara billBeforeTax in questo modo ..

var billBeforeTax = 100.0 

Sarà interpretato come un doppio e la moltiplicazione funzionerà. O potresti anche fare quanto segue.

var billBeforeTax = 100 
var taxPercentage = 0.12 
var tax = Double(billBeforeTax) * taxPercentage // Convert billBeforeTax to a double before multiplying. 
+0

Swift è molto sensibile ai tipi. Per la maggior parte del tempo, non è possibile eseguire operazioni tra due variabili del diverso tipo. Buona risposta. – antonio081014

+0

Grazie @omoman! Questo aiuta davvero. – bmoondesign

+0

Ottima risposta @omoman – Trapp

1

Non vi resta che lanciare la variabile int a raddoppiare come di seguito:

var billBeforeTax = 100 
    var taxPercentage = 0.12 
    var tax = Double(billBeforeTax) * taxPercentage 
+0

Grazie per la risposta :) – bmoondesign

Problemi correlati