파이썬에서 소수 자릿수를 반올림하는 내 방식보다 더 나은 (더 빠르고 효율적이며 "좀 더 평범한") 방법이 있습니까? 내가 해낸 다음파이썬에서 구성 가능한 소수점 이하 자릿수로 반올림
sign, digits, exponent = the_number.as_tuple()
Decimal((sign, digits[:exponent+len(digits)+decimal_places],-decimal_places))
편집 : 나는 아직 다른 솔루션을 사용하여 종료 빨리 [1] 또한 원하는 정밀도 진수 "채워"
decimal.Decimal('%.*f' % (decimal_places, number))
을 [ 1] 소수 ~ 200 자까지 더 빠릅니다. 내 경우에는 내가 "캐스팅"진수로 원하는 임의의 부동 소수점 값을 얻을 수 있으므로 원래의 정밀도는 이미 제한되며 < < (200)
경우; 코드가 소수점의 값을 변경합니다. 너가 원하는게 그거야? 예를 들어,'the_number = Decimal ('1000')'은'decimal_places = 5' 인 경우'Decimal ('0.01000')'이됩니다. – unutbu
아니, 그게 아니지만, 단순히 잘못된 것입니다. 나는 정수에 대해서 생각하지 않았다. 왜냐하면 그들은 내 코드에서 결코 일어나지 않을 것이기 때문이다. 하지만 여전히 내 코드가 잘못되어 그냥 안전을 위해서 사용하지 않을 것입니다.) –
특정 지수로 반올림 하시겠습니까 (예 : 소수점 이하 몇 자리까지)? 특정 자릿수로 반올림 하시겠습니까? –