2014-06-09 5 views
2

파이썬에서 지수 소수점 2 자리를 반올림하고 싶습니다.지수 소수점 2 자리 소수점 이하 반올림

4.311237638482733e-91 --> 4.31e-91 

빠른 속임수를 아십니까? round(float, 2)"%.2f"%float 같은
간단한 솔루션은 지수 수레와 함께 작동하지 않습니다 :/

편집 : 그것은 아니에요 따라서 그것은 How to round a number to significant figures in Python

+3

' "% .3g"%의 4.311237638482733e-91 :

>>> '' % [] '' >>> '' % set() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: not all arguments converted during string formatting >>> ''.format([]) '' >>> ''.format(set()) '' 

당신은 당신이 format 내장 함수를 사용하여 문자열 리터럴에 메서드를 호출 마음에 들지 않으면 -> '4.31e-91''f'는 float을 포맷하는 유일한 방법이 아닙니다. [여기] (https://docs.python.org/2/library/stdtypes.html#string-formatting)를 참조하십시오. 또한'str.format'이 더 강력합니다. – Bakuriu

+3

'형식 (4.311237638482733e-91, '.2e')'?? 빠른 답변을 원하시면 –

+0

thx! – Leszek

답변

4

당신이 할 수있는 동일한 질문이 아니라, 부동 소수점을 반올림하지만 지수 부동 소수점 반올림에 대한 g 형식 지정자를 사용합니다.이 형식 지정자는 정밀도를 기준으로 지수 및 "보통"표기법을 선택하고 유효 자릿수를 지정합니다.

>>> "%.3g" % 4.311237638482733e-91 
'4.31e-91' 

항상 숫자를 지수 표기로 나타내려면 e 형식 지정자를 사용하고 f절대 표기하지 않는 경우은 지수 표기법을 사용합니다. 가능성의 전체 목록은 here으로 설명됩니다.

>>> '{:.3g}'.format(4.311237638482733e-91) 
'4.31e-91' 

str.format이 더 강력하고 % 스타일 형식에 비해 사용자 정의 할 수 있습니다, 또한 더 일관성 :

또한 대신 % 스타일 형식의이 str.format를 사용할 수 있습니다. 예를 들어 :

>>> format(4.311237638482733e-91, '.3g') 
'4.31e-91' 
관련 문제