Ios Swift-转换为绝对值
有没有办法从整数中得到绝对值?Ios Swift-转换为绝对值,ios,iphone,swift,Ios,Iphone,Swift,有没有办法从整数中得到绝对值? 比如说 -8 to 8 我已经尝试使用UInt(),假设它会将Int值转换为无符号值,但没有成功。标准的abs()函数在这里工作得很好: let c = -8 print(abs(c)) // 8 使用Swift 5,您可以使用以下两种方法之一将整数转换为其绝对值 #1.从magnity属性获取Int的绝对值 Int有一个属性幅值具有以下声明: var magnitude: UInt { get } func abs<T>(_ x:
比如说
-8
to
8
我已经尝试使用UInt(),假设它会将Int值转换为无符号值,但没有成功。标准的abs()
函数在这里工作得很好:
let c = -8
print(abs(c))
// 8
使用Swift 5,您可以使用以下两种方法之一将整数转换为其绝对值
#1.从
magnity
属性获取Int
的绝对值
Int
有一个属性<代码>幅值具有以下声明:
var magnitude: UInt { get }
func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric
对于任何数值x
,x.magnity
是x
的绝对值
以下代码片段显示了如何使用magnity
属性来获取Int
实例上的绝对值:
let value = -5
print(value.magnitude) // prints: 5
let value = -5
print(abs(value)) // prints: 5
#2.从
abs(:)
方法获取Int
的绝对值
Swift有一个名为method的全局数值函数<代码>abs(:)具有以下声明:
var magnitude: UInt { get }
func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric
如果要从double或Int中获取绝对值,请使用
fabs
func:
var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6
如果您想强制更改某个数字或将其保持为正数。
方法如下:
abs() for int
fabs() for double
fabsf() for float
CAST/转换不应该用来改变需要导入的值来使用ASP.2?@ JarrodSmith:导入基础,您可以导入达尔文还是基础不是达尔文的基础部分?它将不能用于<代码> It8(-128)< /C> >这将导致<代码> ExcBADIAL指令 PRESS(ABS(Int.min))不能工作。Swift 3有什么解决方案吗?我还没有更新我的项目。错过了说“获取一个INTSTATION上的绝对值”的机会@bibscy See来理解为什么
abs(Int8.min)
不能工作,因此会产生溢出错误。是的,你是对的,但我的重点是fabs
,对不起,fabs不推荐使用