http://msdn.microsoft.com/en-us/library/aa216840 (SQL.80) .aspx
Сканирование Кластерного индекса логический и физический оператор сканирует кластерный индекс, определенный в столбце Argument. Когда дополнительное, ГДЕ: () предикат присутствует, только те строки, которые удовлетворяют предикат, возвращаются. Если столбец Argument содержит ЗАКАЗАННЫЙ пункт, процессор запросов запросил, чтобы вывод строк был возвращен в порядке, в котором кластерный индекс отсортировал их. Если ЗАКАЗАННЫЙ пункт не будет присутствовать, механизм устройства хранения данных просканирует индекс оптимальным способом (не гарантирующий вывода, который будет отсортирован).
http://msdn.microsoft.com/en-us/library/aa178416 (SQL.80) .aspx
Сканирование таблицы логический и физический оператор получает все строки от таблицы, определенной в столбце Argument. Если, ГДЕ: () предикат появляется в столбце Argument, только те строки, которые удовлетворяют предикат, возвращаются.
Я сделал тот же калькулятор процента для одного из моего приложения, где мы должны показать процент, сохраненный, если Вы выбираете "Yearly Plan" по "Ежемесячному Плану" . Это помогает Вам сохранить определенную сумму денег в установленный срок. Я использовал его для подписок.
Ежемесячный заплаченный в течение года - 2028 Ежегодный заплатил одно время - 1699
, 1699 16,22% уменьшение 2028.
Формула: Процент уменьшения = |2028 - 1699 |/2028 = 329/2028 = 0.1622 = 16,22%
я надеюсь, что это помогает кому-то ищущему тот же вид реализации.
func calculatePercentage(monthly: Double, yearly: Double) -> Double {
let totalMonthlyInYear = monthly * 12
let result = ((totalMonthlyInYear-yearly)/totalMonthlyInYear)*100
print("percentage is -",result)
return result.rounded(toPlaces: 0)
}
Использование:
let savingsPercentage = self.calculatePercentage(monthly: Double( monthlyProduct.price), yearly: Double(annualProduct.price))
self.btnPlanDiscount.setTitle("Save \(Int(savingsPercentage))%",for: .normal)
дополнительное использование для того, чтобы окружить процент по Двойному:
extension Double {
/// Rounds the double to decimal places value
func rounded(toPlaces places:Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
я присоединил изображение для понимания того же.