>백엔드 개발 >파이썬 튜토리얼 >후행 0 없이 과학 표기법에서 큰 소수를 표시하는 방법은 무엇입니까?

후행 0 없이 과학 표기법에서 큰 소수를 표시하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-06 11:43:02180검색

How to Display Large Decimals in Scientific Notation Without Trailing Zeros?

십진수에 대한 과학적 표기법

특히 뒤에 0이 있는 경우 과학적 표기법으로 큰 소수를 표시하는 것은 까다로울 수 있습니다. 방법은 다음과 같습니다.

10진수 및 '%.2E' 사용

from decimal import Decimal

print('%.2E' % Decimal('40800000000.00000000000000'))  # returns '4.08E+10'

%.2E를 지정하여 출력을 소수점 이하 두 자리로 제한합니다. 추가 0을 효과적으로 제거합니다.

후행 0 자동 제거

후행 0을 모두 제거하려면 다음 사용자 정의 기능을 사용할 수 있습니다.

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

이 함수:

  • 'E'를 사용하여 과학적 표기법 문자열을 가수와 지수로 분할합니다.
  • 가수에서 뒤에 오는 0과 소수점을 제거합니다.
  • 수정된 가수를 사용하여 과학적 표기법 문자열을 재구성합니다.

format_e(Decimal('40800000000.00000000000000'))  # '4.08E+10'
format_e(Decimal('40000000000.00000000000000'))  # '4E+10'
format_e(Decimal('40812300000.00000000000000'))  # '4.08123E+10'

이 접근 방식은 자동으로 후행 0을 처리하여 간결한 과학적 표기법을 보장합니다. 심지어 큰 소수까지.

위 내용은 후행 0 없이 과학 표기법에서 큰 소수를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.