2012-12-17 1 views
3

중요한 숫자로 반올림 된 형식화 된 문자열을 인쇄하는 방법을 알아 내려고하고 있습니다. 다음과 같이 말하십시오 :파이썬에서 문자열 내에서 정수와 부동 문자 서식 지정

x = 8829834.123 

그리고 나는 4 개의 시그마 그림을 정수로 반올림하여 인쇄하고 싶습니다.

print "%4d"%x 

을하고 난 그냥 얻을 : 나는 시도

8829834 

하지가 표시됩니다 이유 :

8829000? 

나는 그 문자열이 근무 서식하는 방법을 생각했다.

+0

이 질문을보십시오 : http://stackoverflow.com/questions/3348825/how-to-round-intege rs에서 파이썬. 허용 된 답변에서 언급 한 round() 사용을 고려해 볼 수 있습니다. – Bharat

+0

중복이 가능합니까? http://stackoverflow.com/questions/9415939/how-can-i-print-many-significant-figures-in-python –

답변

2

서식 지시자가 아니라 상자 중 일부 솔루션이있을 수있다, 정수 라운딩을 지원하지 않습니다, 여기의 몇

>>> print "{:d}000".format(int(x/1000)) 
8829000 
>>> print "{:d}".format(int(round(x,-3))) 
8830000 
+0

'x'의 크기 순서가 다른 경우 결과가 4 자리 숫자로 반올림되지 않습니다. 예 : '123456789' – jfs

4

4 개 유효 숫자로 반올림됩니다

f = float("%.4g" % 8829834.123) 

정수로 인쇄하려면 다음을 수행하십시오.

print "%.0f" % f 
# -> 8830000