Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

226

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm cách nào tôi có thể hiển thị

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
1 dưới dạng
def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
2?

Tôi đã thử điều này:

>>> '%E' % Decimal('40800000000.00000000000000')
'4.080000E+10'

Nhưng nó có thêm 0.

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

Hỏi ngày 2 tháng 8 năm 2011 lúc 14:16Aug 2, 2011 at 14:16

2

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'

Trong '40800000000.00000000000000' của bạn, có nhiều số không quan trọng hơn có ý nghĩa giống như bất kỳ chữ số nào khác. Đó là lý do tại sao bạn phải nói rõ nơi bạn muốn dừng lại.

Nếu bạn muốn tự động xóa tất cả các số không theo dõi, bạn có thể thử:

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

ABM

1.5782 Huy hiệu vàng25 Huy hiệu bạc41 Huy hiệu đồng2 gold badges25 silver badges41 bronze badges

Đã trả lời ngày 2 tháng 8 năm 2011 lúc 14:19Aug 2, 2011 at 14:19

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

2

Đây là một ví dụ sử dụng hàm

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
3:

>>> "{:.2E}".format(Decimal('40800000000.00000000000000'))
'4.08E+10'

Thay vì định dạng, bạn cũng có thể sử dụng F-Strings:

>>> f"{Decimal('40800000000.00000000000000'):.2E}"
'4.08E+10'
  • Tài liệu chính thức

  • Định dạng ban đầu () đề xuất

Đã trả lời ngày 8 tháng 11 năm 2013 lúc 16:44Nov 8, 2013 at 16:44

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

Cees Timmerancees TimmermanCees Timmerman

16.2K10 Huy hiệu vàng88 Huy hiệu bạc119 Huy hiệu đồng10 gold badges88 silver badges119 bronze badges

1

Cho số của bạn

x = Decimal('40800000000.00000000000000')

Bắt đầu từ Python 3,

'{:.2e}'.format(x)

là cách được đề xuất để làm điều đó.

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
4 có nghĩa là bạn muốn ký hiệu khoa học và
def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
5 có nghĩa là bạn muốn 2 chữ số sau dấu chấm. Vì vậy, bạn sẽ nhận được
def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
6

Đã trả lời ngày 12 tháng 3 năm 2017 lúc 15:47Mar 12, 2017 at 15:47

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

patapouf_aipatapouf_aipatapouf_ai

16.4K13 Huy hiệu vàng87 Huy hiệu bạc125 Huy hiệu đồng13 gold badges87 silver badges125 bronze badges

4

Không ai đề cập đến dạng ngắn của phương pháp

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
7:

Nhu cầu ít nhất Python 3.6

f"{Decimal('40800000000.00000000000000'):.2E}"

(Tôi tin rằng nó giống như Cees Timmerman, chỉ ngắn hơn một chút)

Đã trả lời ngày 26 tháng 2 năm 2018 lúc 10:38Feb 26, 2018 at 10:38

3

Đây là một danh sách hợp nhất các câu trả lời và bình luận "đơn giản".

Python 3

from decimal import Decimal

x = '40800000000.00000000000000'
# Converted to Float
x = Decimal(x)

# ===================================== # `Dot Format`
print("{0:.2E}".format(x))
# ===================================== # `%` Format
print("%.2E" % x)
# ===================================== # `f` Format
print(f"{x:.2E}")
# =====================================
# ALL Return: 4.08E+10
print((f"{x:.2E}") == ("%.2E" % x) == ("{0:.2E}".format(x)))
# True
print(type(f"{x:.2E}") == type("%.2E" % x) == type("{0:.2E}".format(x)))
# True
# =====================================

Hoặc không có ________ 28

# NO IMPORT NEEDED FOR BASIC FLOATS
y = '40800000000.00000000000000'
y = float(y)

# ===================================== # `Dot Format`
print("{0:.2E}".format(y))
# ===================================== # `%` Format
print("%.2E" % y)
# ===================================== # `f` Format
print(f"{y:.2E}")
# =====================================
# ALL Return: 4.08E+10
print((f"{y:.2E}") == ("%.2E" % y) == ("{0:.2E}".format(y)))
# True
print(type(f"{y:.2E}") == type("%.2E" % y) == type("{0:.2E}".format(y)))
# True
# =====================================

So sánh

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
0

Vì vậy, đối với Python 3, bạn có thể chuyển đổi giữa bất kỳ ai trong ba người bây giờ.

Yêu thích của tôi:

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
1

Đã trả lời ngày 27 tháng 10 năm 2019 lúc 4:29Oct 27, 2019 at 4:29

JayrizzojayrizzoJayRizzo

2.7923 huy hiệu vàng31 Huy hiệu bạc42 Huy hiệu đồng3 gold badges31 silver badges42 bronze badges

2

Xem các bảng từ định dạng chuỗi Python để chọn bố cục định dạng thích hợp. Trong trường hợp của bạn là

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
9.

Đã trả lời ngày 2 tháng 8 năm 2011 lúc 14:22Aug 2, 2011 at 14:22

Mihai Maruseacihai MaruseacMihai Maruseac

20,5K7 Huy hiệu vàng55 Huy hiệu bạc109 Huy hiệu đồng7 gold badges55 silver badges109 bronze badges

Số thập phân của tôi quá lớn đối với

>>> "{:.2E}".format(Decimal('40800000000.00000000000000'))
'4.08E+10'
0 vì vậy tôi đã phải cải thiện:

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
2

Đây là một ví dụ sử dụng:

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
3

Đã trả lời ngày 6 tháng 1 năm 2013 lúc 22:06Jan 6, 2013 at 22:06

Ubershmekelubershmekelubershmekel

11K7 Huy hiệu vàng69 Huy hiệu bạc84 Huy hiệu đồng7 gold badges69 silver badges84 bronze badges

1

Điều này làm việc tốt nhất cho tôi:

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
4

Đã trả lời ngày 12 tháng 5 năm 2016 lúc 8:09May 12, 2016 at 8:09

Matthew Fitchmatthew FitchMatthew Fitch

Phim huy hiệu vàng1 gold badge10 silver badges13 bronze badges

Để chuyển đổi một số thập phân thành ký hiệu khoa học mà không cần chỉ định độ chính xác trong chuỗi định dạng và không bao gồm các số không kéo dài, tôi hiện đang sử dụng

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
5

Để giữ bất kỳ số không kéo dài nào, chỉ cần loại bỏ

>>> "{:.2E}".format(Decimal('40800000000.00000000000000'))
'4.08E+10'
1.

Đã trả lời ngày 26 tháng 2 năm 2014 lúc 11:37Feb 26, 2014 at 11:37

MikemmikemMikeM

12.6K2 Huy hiệu vàng31 Huy hiệu bạc46 Huy hiệu đồng2 gold badges31 silver badges46 bronze badges

Tôi thích Python 3.x Way.

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
6

>>> "{:.2E}".format(Decimal('40800000000.00000000000000'))
'4.08E+10'
2 chỉ ra có bao nhiêu chữ số được hiển thị trong phần nổi.

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
7

Đã trả lời ngày 11 tháng 9 năm 2019 lúc 3:33Sep 11, 2019 at 3:33

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

Đây là cái đơn giản nhất tôi có thể tìm thấy.

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
8

('E' không nhạy cảm với trường hợp. Bạn cũng có thể sử dụng '.2E')

Đã trả lời ngày 5 tháng 4 năm 2020 lúc 22:05Apr 5, 2020 at 22:05

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

Thêm câu trả lời cập nhật để chỉ ra cách áp dụng

>>> "{:.2E}".format(Decimal('40800000000.00000000000000'))
'4.08E+10'
3 vào số nhỏ

from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'
9

Đã trả lời ngày 14 tháng 10 năm 2021 lúc 10:41Oct 14, 2021 at 10:41

Hướng dẫn how do you display e in python? - làm thế nào để bạn hiển thị e trong python?

Beppe cbeppe cBeppe C

8.7992 Huy hiệu vàng15 Huy hiệu bạc35 Huy hiệu Đồng2 gold badges15 silver badges35 bronze badges

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

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
0

Đã trả lời ngày 12 tháng 1 năm 2015 lúc 10:19Jan 12, 2015 at 10:19

Làm thế nào để bạn thực hiện ký hiệu e trong Python?

Ghi chú điện tử chỉ là một cách khác để viết ký hiệu khoa học. Đối với số lượng rất nhỏ, như 0,0000000000001752, số mũ âm được sử dụng. Ký hiệu khoa học sẽ là 1,752 x 10-13 và chú ý điện tử sẽ là 1.752E-13. Một số mũ tiêu cực có nghĩa là di chuyển vị trí thập phân sang trái thay vì bên phải.For very small numbers, like 0.0000000000001752, a negative exponent is used. The scientific notation would be 1.752 x 10-13, and the E-notation would be 1.752e-13. A negative exponent means to move the decimal place to the left instead of the right.

Làm thế nào để bạn in một hình thức theo cấp số nhân trong Python?

Sử dụng str.format () trên một số có "" {: e} "như str để định dạng số trong ký hiệu khoa học. Chỉ bao gồm một số chữ số nhất định sau điểm thập phân, sử dụng" {:.Ne} ", trong đó n là số chữ số mong muốn. format() on a number with ""{:e}" as str to format the number in scientific notation. To only include a certain number of digits after the decimal point, use "{:. Ne}" , where N is the desired number of digits.

E trong python float là gì?

Hàm float () trả về một đối tượng số điểm nổi từ một số hoặc chuỗi chứa các chữ số có điểm thập phân hoặc ký hiệu khoa học (E hoặc E).scientific notation (E or e).

%S và %d python là gì?

%s được sử dụng làm trình giữ chỗ cho các giá trị chuỗi bạn muốn tiêm vào chuỗi được định dạng.%D được sử dụng làm trình giữ chỗ cho các giá trị số hoặc số thập phân.Ví dụ (đối với Python 3) in (' %s là %d tuổi' %('joe', 42)) sẽ xuất ra Joe 42 tuổi. %d is used as a placeholder for numeric or decimal values. For example (for python 3) print ('%s is %d years old' % ('Joe', 42)) Would output Joe is 42 years old.