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 }

对于任何数值xx.magnitudex的绝对值。

以下代码片段显示了如何使用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 - 转换为绝对值的主要内容,如果未能解决你的问题,请参考以下文章

我可以将.png数据转换为Swift中的Int吗?

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

如何优化C ++代码的以下片段 - 卷中的零交叉

swift常用代码片段

HTML Bookmarklet模板:将任何JavaScript代码片段转换为Bookmarklet

swift 代码片段