Swift - 转换为绝对值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift - 转换为绝对值相关的知识,希望对你有一定的参考价值。
有没有办法从整数中获取绝对值? 例如
-8
to
8
我已经尝试使用UInt(),假设它将Int转换为无符号值,但它不起作用。
答案
标准的abs()
功能在这里很有用:
let c = -8
print(abs(c))
// 8
另一答案
根据您的需要,使用Swift 4,您可以使用以下两种方法之一来解决您的问题(也适用于其他数值变量,如CGFloat,Double等):
#1。从Int
财产获得magnitude
的绝对值
使用Swift 4,Int
拥有magnitude
财产。 magnitude
有以下声明:
var magnitude: UInt { get }
对于任何数值
x
,x.magnitude
是x
的绝对值。
以下代码片段显示了如何使用magnitude
属性来获取Int
实例的绝对值:
let value = -5
print(value.magnitude) // prints: 5
#2。从Int
方法获得abs(_:)
的绝对值
Swift 4有一个名为abs(_:)
方法的全局数字函数。 abs(_:)
有以下声明:
func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric
返回给定数字的绝对值。
以下代码片段显示了如何使用abs(_:)
全局函数以获取Int
实例的绝对值:
let value = -5
print(abs(value)) // prints: 5
另一答案
如果你想强迫一个数字改变或保持积极的。 这是方式:
abs() for int
fabs() for double
fabsf() for float
另一答案
如果要从double或Int获取绝对值,请使用fabs
func:
var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6
以上是关于Swift - 转换为绝对值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?