code

Swift - 절대값으로 변환

starcafe 2023. 4. 23. 11:00
반응형

Swift - 절대값으로 변환

정수에서 절대값을 얻을 수 있는 방법이 있나요?
예를들면

-8  
to  
 8

Int를 부호 없는 값으로 변환한다고 가정하고 UInt()를 사용하려고 했지만 작동하지 않았습니다.

표준abs()이 기능은 다음과 같이 동작합니다.

let c = -8
print(abs(c))
// 8

Swift 5에서는 다음 두 가지 방법 중 하나를 사용하여 정수를 절대값으로 변환할 수 있습니다.


#1. 절대적인 가치의 취득Int부터magnitude소유물

Int속성을 가지고 있습니다. magnitude에는 다음 선언이 있습니다.

var magnitude: UInt { get }

임의의 수치x,x.magnitude의 절대적인 가치입니다.x.

다음 코드 조각은 사용 방법을 보여 줍니다.magnitude절대값을 얻기 위한 특성Int인스턴스:

let value = -5
print(value.magnitude) // prints: 5

#2. 절대적인 가치의 취득Int부터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기능:

var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6

언급URL : https://stackoverflow.com/questions/24159627/swift-convert-to-absolute-value

반응형