有没有办法从整数中得到绝对值? 例如
-8
to
8
我已经尝试使用UInt(),假设它将Int转换为unsigned值,但它没有工作。
有没有办法从整数中得到绝对值? 例如
-8
to
8
我已经尝试使用UInt(),假设它将Int转换为unsigned值,但它没有工作。
在Swift 5中,你可以使用以下两种方法中的一种来将整数转换为绝对值。
# 1。从大小属性获取一个Int的绝对值
Int有大小属性。量级有以下声明:
var magnitude: UInt { get }
对于任何数值x, x.magnitude是x的绝对值。
下面的代码片段展示了如何使用magnitude属性来获得Int实例的绝对值:
let value = -5
print(value.magnitude) // prints: 5
# 2。从abs(_:)方法获取Int的绝对值
Swift有一个全局数值函数叫做abs(_:)方法。Abs(_:)有以下声明:
func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric
返回给定数字的绝对值。
下面的代码片段展示了如何使用abs(_:)全局函数来获取Int实例的绝对值:
let value = -5
print(abs(value)) // prints: 5
如果你想从double或Int中获得绝对值,请使用fabs func:
var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6