본문 바로가기
프로그래밍/Python

Python 소수점 다루기 - math, int(), //1

by hi-rachel 2023. 8. 16.

소수점 내리는 방법

int()
//1
math.floor()
math.tunc()

 

양수에서는 위 방법 모두 같은 숫자 값을 보여준다.

print(int(7.12)): 7
print(math.floor(7.12)): 7
print(7.12//1): 7.0
print(int(3.1415)): 3 
print(math.floor(3.1415)): 3 
print(3.1415//1): 3.0

 

//1은 float

 

음수에서는 다른 결과를 보여준다.

print(int(-7.12)): -7
print(math.floor(-7.12)): -8 
print(-7.12//1): -8.0

print(int(-3.1415)): -3
print(math.floor(-3.1415)): -4 
print(-3.1415//1): -4.0

 

- math.trunc(x)

: truncation function은 x의 정수 부분만을 보여준다.

Int(x)와 같은 결과값을 보여준다.

 

소수점 올리는 방법

math.ceil()

math.ceil(1.5): 2
math.ceil(3): 3
math.ceil(-6.2): -6
math.ceil(3.141592653589793): 4
math.ceil(0): 0
math.ceil(2.71828): 3
math.ceil(29.0): 29
math.ceil(-91.312): -91
math.ceil(1.4142135623730951): 2

 

정수, 소수 부분 분리하는 방법

math.modf(float)

float을 입력값으로 받아서 tuple object를 반환한다.

소수를 정수 부분, 소수 부분으로 분리해준다.

tuple 안에 담긴 두 값 모두 float.

 

math.modf(1.5): (0.5, 1.0)
math.modf(3): (0.0, 3.0)
math.modf(-6.2): (-0.20000000000000018, -6.0)
math.modf(3.141592653589793): (0.14159265358979312, 3.0)
math.modf(0): (0.0, 0.0)
math.modf(2.71828): (0.71828, 2.0)
math.modf(29.0): (0.0, 29.0)
math.modf(-91.312): (-0.3119999999999976, -91.0)
math.modf(1.4142135623730951): (0.41421356237309515, 1.0)

 

참고

https://blog.finxter.com/python-math-functions/

 

Python Math floor(), ceil(), trunc(), and modf() - Be on the Right Side of Change

This article is the first of several articles discussing functions from the math module from the Python Standard Library. The articles are organized thematically; functions that are closely related to each other are discussed in the same article. In this a

blog.finxter.com