如何从 NSDecimalNumber 获取绝对值?
How to get an absolute value from NSDecimalNumber?
如何从 NSDecimalNumber 中获取绝对值?从 Integer 中获取绝对值很容易,但我需要从 NSDecimalNumber 中获取一个。我在几年前找到了答案(例如 Objective-C),但我希望在 2020 年的 Swift 现在会更容易。
来自我的 playground 的代码:
import UIKit
var str = "Hello, playground"
// absolute value
let intValue: Int = -5
let absoluteIntValue = abs(intValue) // works
print("\(absoluteIntValue)") // 5
let value: NSDecimalNumber = -5.234
let absoluteValue = abs(value) // doesn't work. Gives an error: Cannot convert value of type 'NSDecimalNumber' to expected argument type 'Int32'
print("\(absoluteValue)")
只需将 NSDecimalNumber
替换为(本地)Decimal
。通用 abs
函数还考虑了 Decimal
类型
let value: Decimal = -5.234
let absoluteValue = abs(value)
print(absoluteValue)
如何从 NSDecimalNumber 中获取绝对值?从 Integer 中获取绝对值很容易,但我需要从 NSDecimalNumber 中获取一个。我在几年前找到了答案(例如 Objective-C),但我希望在 2020 年的 Swift 现在会更容易。
来自我的 playground 的代码:
import UIKit
var str = "Hello, playground"
// absolute value
let intValue: Int = -5
let absoluteIntValue = abs(intValue) // works
print("\(absoluteIntValue)") // 5
let value: NSDecimalNumber = -5.234
let absoluteValue = abs(value) // doesn't work. Gives an error: Cannot convert value of type 'NSDecimalNumber' to expected argument type 'Int32'
print("\(absoluteValue)")
只需将 NSDecimalNumber
替换为(本地)Decimal
。通用 abs
函数还考虑了 Decimal
类型
let value: Decimal = -5.234
let absoluteValue = abs(value)
print(absoluteValue)