2014-11-12 3 views
0

Im 매우 Xcode에 익숙하지 않으므로 총 이익을 계산하는 간단한 앱을 만들려고합니다.Swift의 기본 수학

다음 코드를 사용하려고하지만 '0'값을 반환합니다.

이유가 무엇입니까?

// Playground - noun: a place where people can play 

import UIKit 

var costPrice = 10 

var salePrice = 100 

var grossProfit = ((salePrice - costPrice)/salePrice) * 100 

println(grossProfit) 
+0

정수 리터럴을 사용하여 변수를 초기화하므로 정수로 입력됩니다. 이후의 나누기는 정수 나누기이므로 반 내림합니다. 다른 접근법 (부동 소수점 또는 소수점 유형을 사용하고, 값을 100 배로 확대 등)을 사용해야합니다. –

+0

변수에 유형을 추가하는 것을 잊어 버렸기 때문에 기본적으로 _filats_가 아닌 _integers_ 만 있습니다. – holex

답변

1

이 내용은 모두 Apple에서 무료로 제공하는 iBook "Introduction to Swift"의 처음 몇 페이지에서 설명합니다.

스위프트는 유형 안전하며 문맥에서 유형을 유추합니다.

라인 var costPrice = 10은 변수 costPrice이 int임을 유추합니다.

그런 다음 int를 다른 유형의 숫자 ​​(예 : double)와 암시 적으로 결합 할 수 없습니다.

당신이하려고하면 ..

let costPrice = 10.0 

let salePrice = 100.0 

let grossProfit = ((salePrice - costPrice)/salePrice) * 100.0 

당신이 작동 찾을 수 있습니다.

1

10100 그렇게 costPricesalePrice는 정수, 정수입니다. 당신이보고있는 것처럼 정수 부분이 잘립니다. 여기에 10.0100.0을 사용하려고했습니다.