씬디의 블로그

[Swift] 소수점 다루는 친구들(ceil, round, floor, trunc) 본문

App/Swift 문법

[Swift] 소수점 다루는 친구들(ceil, round, floor, trunc)

cyndi 2023. 12. 1. 23:45

Swift

[올림 ceil]

알고리즘 문제를 풀다가 나머지가 있을 경우, 반올림이 아닌 아예 올림을 해버리는 친구가 필요했다

그래서 알게 된 ceil

소수점이 0보다 큰 경우 무조건 올린다

 

예시

ceil(5.123)  // 6.0
ceil(5.456)  // 6.0
ceil(5.512)  // 6.0
ceil(5.567)  // 6.0
ceil(5.657)  // 6.0
ceil(5.765)  // 6.0

ceil(-3.453) // -3.0
ceil(-3.658) // -3.0

같이 알게 된 소수점 다루는 친구들

 

[반올림 round]

우리가 익히 알고있는 반올림처럼 동일하게

소수점이 5보다 크거나 같으면 올리고, 5보다작으면 내린다

 

예시

round(5.123)  // 5.0
round(5.456)  // 5.0

round(5.512)  // 6.0
round(5.567)  // 6.0
round(5.657)  // 6.0
round(5.765)  // 6.0

round(-3.453) // -3.0

round(-3.658) // -4.0

 

 

[내림 floor]

올림과 반대로, 소수점을 무조건 내린다

floor(5.123)  // 5.0
floor(5.456)  // 5.0
floor(5.512)  // 5.0
floor(5.567)  // 5.0
floor(5.657)  // 5.0
floor(5.765)  // 5.0

여기서 조금(많이) 헷갈릴 수 있을 건 같아서

ceil과 비교해서 코드 작성해보기

ceil(-3.453) // -3.0
ceil(-3.658) // -3.0

floor(-3.453) // -4.0
floor(-3.658) // -4.0

 

 

[버림 trunc]

trunc는 소수점을 지워버린다

trunc(5.123)  // 5.0
trunc(5.456)  // 5.0
trunc(5.512)  // 5.0
trunc(5.567)  // 5.0
trunc(5.657)  // 5.0
trunc(5.765)  // 5.0

trunc(-3.453) // -3.0
trunc(-3.658) // -3.0