카테고리 없음

python 소수의 자리수 쉽게 변경하는 방법-round, format, 문자열 인덱싱

gomming 2021. 2. 20. 01:14

소수의 자리수 변경하기

python 내장함수인 round를 이용해보도록 합니다.

소수점 자리수가 너무 길어서 제한해야 할 때가 있습니다.

data_float = [0.0004739435, 0.0004737749, 0.0004736154, 0.0004734571, 0.000473302]

위 데이터를 소수점 8째 자리까지로 제한한다면

data_8=[]
for i in data_float:
    data_8.append(round (i, 8))
print(data_8)

이렇게 적용해보시면 각 데이터를 8째 자리까지 반올림하여 맞춰줍니다.

[0.00047394, 0.00047377, 0.00047362, 0.00047346, 0.0004733]

그 외 format이나 문자열 명령어를 이용하는 방법도 있습니다.

 

data_format = []
for i in data_float:
    data_format.append(format(i,'0.8f'))
print('====================')
print (data_float)
print (data_format)

[0.0004739435, 0.0004737749, 0.0004736154, 0.0004734571, 0.000473302]

['0.00047394', '0.00047377', '0.00047362', '0.00047346', '0.00047330']

역시 반올림하여 8번째 자리수를 맞춥니다.

반올림하지 않고 8자리 이후 숫자를 날리고 싶을 때는

 

data_trunc = []
for i in data_float:
    data_trunc.append(float(str(i)[:10]))
print('====================')
print (data_float)
print (data_trunc)

====================

[0.0004739435, 0.0004737749, 0.0004736154, 0.0004734571, 0.000473302]

[0.00047394, 0.00047377, 0.00047361, 0.00047345, 0.0004733]

이렇게 반올림하지 않고 8번째 자리수까지 잘라줍니다.

맺음

좋은 아이디어 있으면 댓글로 남겨주세요 ~~