美文网首页
swift:金额(单位为分)计算

swift:金额(单位为分)计算

作者: 龙之天下 | 来源:发表于2021-07-19 09:03 被阅读0次
    /// 金额(单位为分)计算  --self 被除数
    /// - Parameters:
    ///   - scale: 精确度
    ///   - roundingMode:
    /// - Returns:
    func dividingMoney(scale: Int16 = 1, roundingMode: NSDecimalNumber.RoundingMode = .plain)  -> String {
        return self.dividing(by: "100",scale: scale, roundingMode: roundingMode)
    }
    
    /// 精确计算  --self 被除数
    /// - Parameters:
    ///   - decimalNumber: 除数不为0
    ///   - scale: 精确度
    ///   - roundingMode:
    /// - Returns:
    func dividing(by decimalNumber: String, scale: Int16 = 2, roundingMode: NSDecimalNumber.RoundingMode = .plain)  -> String {
        guard decimalNumber != "0" else {
            return self
        }
        guard self != "0" else {
            return self
        }
        let dec = NSDecimalNumber(string: self)
        let dec1 = NSDecimalNumber(string: decimalNumber)
        let decimalNumberHandler = NSDecimalNumberHandler(roundingMode: roundingMode, scale: scale, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: true)
        let number = dec.dividing(by: dec1, withBehavior: decimalNumberHandler)
        return String(number.doubleValue)
    }

    相关文章

      网友评论

          本文标题:swift:金额(单位为分)计算

          本文链接:https://www.haomeiwen.com/subject/bveosltx.html