美文网首页
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