Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-转换为绝对值_Ios_Iphone_Swift - Fatal编程技术网

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不推荐使用