[Swift5] NumberFormatter로 소수점 아래 자릿수 반올림 없이 자르기

EmilY
2 min readJul 1, 2019

--

안녕하세요 에밀리입니다

오늘은 NumberFormatter()를 이용하여

소수점 아래 자릿수를 원하는 만큼! 반올림 없이! 자르는 방법을 알아보겠습니다

소수점을 원하는 만큼 자르려고 구글을 뒤져보니…

String.format(“%.2f”, 1.535)

이 많이 나오지만,

자꾸 반올림을 합니다..

나는 반올림이 필요없는데!

그래서 찾아본 방법은 NumberFormatter()입니다

방법

let numberFormatter = NumberFormatter()
numberFormatter.roundingMode = .floor // 형식을 버림으로 지정
numberFormatter.minimumSignificantDigits = 2 // 자르길 원하는 자릿수
numberFormatter.maximumSignificantDigits = 2

let originalNum = 1.6759402 // 원하는 숫자
let newNum = numberFormatter.string(from: originalNum) // result 1.67

위의 방법대로 하면

let newNum = numberFormatter.string(from: originalNum)

결과값이 Optional String으로 리턴됩니다

(이후에 형변환 필수)

NumberFormatter란?

숫자값과 문자적 표현 사이를 변환해주는 formatter입니다

(참조 : https://developer.apple.com/documentation/foundation/numberformatter)

문서를 살펴보면,

float과 double은 특정 소수점 자리수로 포맷 가능합니다.

이 문장을 보실 수 있습니다

Significant Digits and Fraction Digits

  • NumberFormatter 클래스는 fractional 표현할 때 옵션 제공
  • usesSignificantDigits 프로퍼티를 true로 설정해야 가능. (디폴트 true)
  • minimumSignificantDigits, maximumSignificantDigits property를 이용해 특정 digit을 보여줌
  • 소수점 자릿수 뿐만 아니라 소수점 이전의 integer 자릿수도 편집 가능

이상입니다.

--

--

EmilY
EmilY

Written by EmilY

iOS 하나부터 열까지 이해하기

No responses yet