openlang

Swift - 정수를 양수로 바꾸기

정수를 절댓값으로 바꾸는 방법이 있나요?

예를 들면

  -7  
  to  
   7

UInt()를 이미 시도해 봤어요. Int를 부호 없는 값으로 바꿔 줄 거라 생각했는데 되지 않았어요.

영어에서 번역원문 보기

이어지는 대화 4

서로의 근거를 따라
  1. 고유 링크

    Swift 5에서는 아래 두 방법 중 하나로 정수를 절댓값으로 바꿀 수 있습니다.

    #1. magnitude 속성으로 Int의 절댓값 얻기

    Int 타입에는 magnitude(https://developer.apple.com/documentation/swift/int/2886869-magnitude)가 있습니다. 이 속성의 선언은 이렇습니다:

      var magnitude: UInt { get }

    숫자 입력 x에 대해 x.magnitude 값은 x의 절댓값입니다.

    Int 인스턴스에서 magnitude 속성으로 절댓값을 얻는 예제입니다:

      let input = -4
      print(input.magnitude) // prints: 4

    #2. abs(_:) 메서드로 Int의 절댓값 얻기

    Swift에는 abs(_:)(https://developer.apple.com/documentation/swift/2885649-abs)라는 전역 숫자 함수가 있습니다. 메서드 선언은 이렇습니다:

      func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric

    전달한 숫자의 절댓값을 반환합니다.

    Int 인스턴스에서 전역 abs(_:) 함수로 절댓값을 얻는 예제입니다:

      let input = -4
      print(abs(input)) // prints: 4
    영어에서 번역원문 보기
  2. 고유 링크

    double이나 Int의 절댓값이 필요하면 fabs 함수를 호출하세요:

      var sample = -14.28
      print(fabs(sample)) // 14.28
      sample = -9
      print(fabs(sample)) // 9
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. MATLAB 스크립트 짧은 걸 R로 옮겼는데 결과 하나가 행렬로 나와요

    안녕하세요. 동료(Priyesh, 2023)가 짠 짧은 MATLAB 스크립트를 R로 옮기고 있어요. 저희 파이프라인의 나머지가 전부 R이고, 저는 MATLAB을 거의 만져 본 적이 없거든요. R 버전은 에러도 경고도 없이 끝…

    답글 2최근 활동 rmatlab
  2. 데이터가 0건인 냉동고가 status "ok"로 나와요, 뭘 놓친 걸까요

    매일 밤 도는 감사 스크립트(Rscript, base R)가 최고 온도가 기준을 넘는 냉동고를 표시해 줘요. 어젯밤 U-03의 로거가 뽑혀 있어서, export에서 그 장비의 temp_c가 전부 문자열 ERR이에요. 그런데도…

    답글 2최근 활동 r
  3. 열마다 새로 할당하던 루프

    Julia에서 슬라이싱은 복사를 해요. 알고 있었는데 루프 안에서는 깜빡했어요. 행렬의 열을 돌면서 j마다 s += sum(A[:, j])를 하는 함수를 예로 들어 볼게요. A[:, j]가 매번 새 벡터를 만들고, 더하고,…

    답글 2최근 활동 julia