ios swift 扩展数值 设置边界

48 阅读1分钟
//
//  Number+Ext.swift
//  BookKeeping
//
//  Created by gy on 2022/12/6.
//

import Foundation
import UIKit

extension Comparable {
    func clamped(to r: ClosedRange<Self>) -> Self {
           let min = r.lowerBound, max = r.upperBound
           return self < min ? min : (max < self ? max : self)
       }
}


extension Int {
    func clamp(min: Int, _ max: Int) -> Int {
        return Swift.max(min, Swift.min(max, self))
    }
}