Получение строки, содержащей склонения дней дня день

No comments on Получение строки, содержащей склонения дней дня день

Written by

in

Достаточно часто используемая штука, поэтому решил сохранить сниппет:

func dayStringFromNumberOfDays(_ numberOfDays: Int) -> String {
    let lastDigit = numberOfDays % 10
    if (numberOfDays >= 11 && numberOfDays <= 19)
    {
        return "дней";
    }
    else
    {
        if lastDigit == 1 { return "день" };
        if lastDigit > 1 && lastDigit < 5 { return "дня" };
        if lastDigit == 0 || lastDigit >= 5 { return "дней" };
    }
    return ""
}

Использование:

let daysLeft = 11
let dayString = self.dayStringFromNumberOfDays(daysLeft)
let fullString = "\(daysLeft) \(dayString)"
print(fullString)

Результат: 11 дней

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *