Я новичок в Xcode и пытаюсь создать простое приложение, которое рассчитывает валовую прибыль.

Я пытаюсь использовать следующий код, но он возвращает значение «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
MattBlack 12 Ноя 2014 в 18:21

2 ответа

Лучший ответ

Все это объясняется на первых нескольких страницах iBook «Введение в Swift», которое распространяется бесплатно и публикуется Apple.

Swift безопасен по типу и определяет тип из контекста.

Строка var costPrice = 10 предполагает, что переменная costPrice имеет тип int.

Тогда вы не сможете неявно комбинировать целые числа с другими типами чисел (например, с двойными числами).

Если вы попробуете это ..

let costPrice = 10.0

let salePrice = 100.0

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

Вы найдете это произведение.

1
Fogmeister 12 Ноя 2014 в 15:25

10 и 100 являются целыми числами, поэтому costPrice и salePrice являются целыми числами. Целочисленное деление усекается, как вы видите. Вы хотели использовать здесь 10.0 и 100.0.

1
Rob Napier 12 Ноя 2014 в 15:25