Hướng dẫn what is format number in python? - số định dạng trong python là gì?

Tất cả các ví dụ giả định Python 3+

Show

Xem sự khác biệt giữa việc cắt ngắn và làm tròn một số

Tất cả các ví dụ có thể được xem trên sổ ghi chép Jupyter này

Định dạng nổi dưới dạng số nguyên

Nói cách khác, làm tròn nó lên đến số nguyên và định dạng gần nhất:round it up to the nearest integer and format:

print('{:.0f}'.format(8.0))
# >>> '8'

print('{:.0f}'.format(8.9))
# >>> '9'

Vòng nổi đến 2 chữ số thập phân

print('{:.2f}'.format(5.39120))
# >>> '5.40'

Định dạng nổi dưới dạng tỷ lệ phần trăm

Định dạng một số theo tỷ lệ phần trăm, với 2 số thập phân

'{:.2f}%'.format(10.12345)
# >>> '10.12%'

Cắt đứt nổi ở 2 số thập phân

Xem toàn bộ mã cho một phiên bản tổng quát trên sổ ghi chép này

Các chữ số thả sau vị trí thập phân thứ hai (nếu có).

import re

# see the notebook for a generalized version
def truncate(num):
    return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num))

truncate(8.499)
# >>> '8.49'

truncate(8.49)
# >>> '8.49'

truncate(8.4)
# >>> '8.4'

truncate(8.0)
# >>> '8.0'

truncate(8)
# >>> '8'

Đẹp trái với số không

Ví dụ làm cho kích thước đầy đủ bằng 9 (tất cả bao gồm), điền vào số không ở bên trái: make the full size equal to 9 (all included), filling with zeros to the left:

# make the total string size AT LEAST 9 (including digits and points), fill with zeros to the left
'{:0>9}'.format(3.499)
# >>> '00003.499'

# make the total string size AT LEAST 2 (all included), fill with zeros to the left
'{:0>2}'.format(3)
# >>> '03'

Đệm đúng với số không

Ví dụ làm cho kích thước đầy đủ bằng 11, lấp đầy các số không ở bên phải: make the full size equal to 11, filling with zeros to the right:

'{:<011}'.format(3.499)
# >>> '3.499000000'

Sử dụng dấu phẩy làm dấu phân cách hàng ngàn

"{:,}".format(100000)
# >>> '100,000'

Biến đổi biến với dây F

Bạn có thể sử dụng bất kỳ tùy chọn định dạng nào khác với F-Strings:f-strings:

Ví dụ: Cắt ngắn thành 2 chữ số thập phân trong F-String truncate to 2 decimal places in f-string

num = 1.12745

formatted = f"{num:.2f}"
formatted
# >>> '1.13'

ValueError: tên trường không độ dài ở định dạng

Trong một số phiên bản Python như 2.6 và 3.0, bạn phải chỉ định các chỉ mục vị trí trong chuỗi định dạng:must specify positional indexes in the format string:

print('{:.0f}'.format(8.9))
# >>> '9'
0


Người giới thiệu

  • Python 3 DOCS: Đặc điểm kỹ thuật Đặc điểm kỹ thuật

Python v2.7 đã giới thiệu một phương thức gây ra chuỗi mới, hiện là mặc định trong Python3. Tôi đã bắt đầu chuỗi này định dạng cuốn sách nấu ăn như một tài liệu tham khảo nhanh để giúp tôi định dạng số và chuỗi. Nhờ những người đóng góp khác, tôi đã mở rộng các ví dụ theo thời gian.

Python 3.6 được giới thiệu, các chuỗi chuỗi được định dạng, thường được gọi là F-Strings là một phương pháp khác để giúp các chuỗi định dạng. Nhảy đến phần F-Strings mới bên dưới.

Định dạng số

Bảng sau đây cho thấy nhiều cách khác nhau để định dạng số bằng cách sử dụng python, str.format (), bao gồm các ví dụ cho cả định dạng float và định dạng số nguyên.

Để chạy ví dụ sử dụng:

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
3

Để có được đầu ra của ví dụ đầu tiên, việc định dạng một chiếc phao đến hai vị trí thập phân, bạn sẽ chạy:

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
4

Con sốĐịnh dạngĐầu raSự mô tả
3.1415926 {: .2f}3.14 Định dạng nổi 2 vị trí thập phân
3.1415926 {:+. 2f}+3.14 Định dạng nổi 2 vị trí thập phân với dấu hiệu
-1 {:+. 2f}-1.00 Định dạng nổi 2 vị trí thập phân với dấu hiệu
2.71828 {: .0f}3 Định dạng nổi không có vị trí thập phân
5 {: 0> 2d}05 Số pad với số không (đệm trái, chiều rộng 2)
5 {:x5xxxSố pad với X X (Đệm phải, chiều rộng 4)
10 {:x10xxSố pad với X X (Đệm phải, chiều rộng 4)
1000000 10xx1,000,000 {:,}
0.25 Định dạng số với dấu phân cách dấu phẩy{: .2%}25,00%
1000000000 Tỷ lệ phần trăm định dạng1.00e+09 {: .2e}
13 Ký hiệu số mũ{: 10d}& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 13
13 Thẳng hàng (mặc định, chiều rộng 10)13 {:
13 Căn chỉnh trái (chiều rộng 10){:^10d}& nbsp; & nbsp; & nbsp; & nbsp; 13

Trung tâm căn chỉnh (chiều rộng 10)

String.Format () cơ bản

print('{:.0f}'.format(8.9))
# >>> '9'
1

Dưới đây là một vài ví dụ về thay thế chuỗi cơ bản,

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
5 là trình giữ chỗ cho các biến thay thế. Nếu không có định dạng nào được chỉ định, nó sẽ chèn và định dạng dưới dạng chuỗi.

print('{:.0f}'.format(8.9))
# >>> '9'
2

Bạn cũng có thể sử dụng vị trí số của các biến và thay đổi chúng trong chuỗi, điều này mang lại sự linh hoạt khi thực hiện định dạng, nếu bạn mắc lỗi theo thứ tự bạn có thể dễ dàng sửa mà không xáo trộn tất cả các biến xung quanh.

print('{:.0f}'.format(8.9))
# >>> '9'
3

Mẹo: Bạn có thể sử dụng '{:.2f}%'.format(10.12345) # >>> '10.12%' 5 như một biến bên trong giá đỡ định dạng (H/T Peter Beens cho TIP). Ví dụ này sử dụng một biến chính xác để kiểm soát số thập phân để hiển thị:

% Chuỗi định dạng phần trăm cũ hơn

Trước Python 2.6, cách định dạng các chuỗi có xu hướng đơn giản hơn một chút, mặc dù bị giới hạn bởi số lượng đối số mà nó có thể nhận được. Các phương pháp này vẫn hoạt động như Python 3.3, nhưng có những mối đe dọa che giấu về việc phản đối chúng hoàn toàn mặc dù không có bảng thời gian. [PEP-3101]

Định dạng số điểm nổi:

print('{:.0f}'.format(8.9))
# >>> '9'
4

Một ví dụ so sánh '{:.2f}%'.format(10.12345) # >>> '10.12%' 7 cũ hơn với '{:.2f}%'.format(10.12345) # >>> '10.12%' 8 để định dạng số float:

Nhiều giá trị thay thế

print('{:.0f}'.format(8.9))
# >>> '9'
5

Một ví dụ so sánh thay thế biến:

Không đủ lập luận

print('{:.0f}'.format(8.9))
# >>> '9'
6

Sử dụng phương thức định dạng cũ hơn, tôi thường gặp các lỗi:

print('{:.0f}'.format(8.9))
# >>> '9'
7

hoặc

Bởi vì tôi đã xử lý các biến thay thế của mình, làm một cái gì đó như sau đây giúp bạn dễ dàng bỏ lỡ một biến.

print('{:.0f}'.format(8.9))
# >>> '9'
8

Chuỗi python mới định dạng mà bạn có thể sử dụng các tham số được đánh số để bạn không phải đếm số lượng bạn có, ít nhất là trên một nửa của nó.

Thêm định dạng chuỗi với .format ()

Hàm định dạng () cung cấp một lượng lớn các tính năng và khả năng bổ sung, đây là một vài mẹo và thủ thuật hữu ích bằng cách sử dụng .format ()

Có tên là đối số

print('{:.0f}'.format(8.9))
# >>> '9'
9

Bạn có thể sử dụng định dạng chuỗi làm công cụ mẫu bằng cách sử dụng các đối số được đặt tên, thay vì yêu cầu một thứ tự nghiêm ngặt.

Nếu bạn đang sử dụng Python 3.6 trở lên, hãy xem định dạng dây F bên dưới để biết cách dễ dàng hơn để tạo mẫu mà họ cũng tính toán các phép nội suy nhanh hơn!

Tái sử dụng cùng một biến nhiều lần

print('{:.2f}'.format(5.39120))
# >>> '5.40'
0

Sử dụng % để định dạng yêu cầu thứ tự nghiêm ngặt của các biến, phương thức '{:.2f}%'.format(10.12345) # >>> '10.12%' 9 cho phép bạn đặt chúng theo bất kỳ thứ tự nào cũng như lặp lại để tái sử dụng.

Chuyển đổi các giá trị thành các cơ sở khác nhaudecimal, hex, octal, or binary.

Một cách sử dụng đáng ngạc nhiên, bạn có thể sử dụng lệnh định dạng chuỗi để chuyển đổi số sang các cơ sở khác nhau. Sử dụng chữ cái trong định dạng để chỉ ra số lượng số nào: thập phân, hex, bát phân hoặc nhị phân.

print('{:.2f}'.format(5.39120))
# >>> '5.40'
1

Ví dụ này định dạng số import re # see the notebook for a generalized version def truncate(num): return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num)) truncate(8.499) # >>> '8.49' truncate(8.49) # >>> '8.49' truncate(8.4) # >>> '8.4' truncate(8.0) # >>> '8.0' truncate(8) # >>> '8' 0 trong mỗi cơ sở:

Sử dụng định dạng làm hàm

print('{:.2f}'.format(5.39120))
# >>> '5.40'
2

Bạn có thể sử dụng

import re

# see the notebook for a generalized version
def truncate(num):
    return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num))

truncate(8.499)
# >>> '8.49'

truncate(8.49)
# >>> '8.49'

truncate(8.4)
# >>> '8.4'

truncate(8.0)
# >>> '8.0'

truncate(8)
# >>> '8'
1 làm hàm để tách văn bản và định dạng khỏi mã. Ví dụ: khi bắt đầu chương trình của bạn bao gồm tất cả các định dạng của bạn để sử dụng sau.

Hat Tip to Earthboundkids, những người đã cung cấp điều này cho Reddit.

print('{:.2f}'.format(5.39120))
# >>> '5.40'
3

Sử dụng định dạng làm hàm có thể được sử dụng để điều chỉnh hình thành theo sở thích của người dùng.

Quốc tế hóa

Để sử dụng định dạng cụ thể của Locale cho các số, trước tiên bạn cần đặt Locale và sau đó sử dụng mã hình thành

import re

# see the notebook for a generalized version
def truncate(num):
    return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num))

truncate(8.499)
# >>> '8.49'

truncate(8.49)
# >>> '8.49'

truncate(8.4)
# >>> '8.4'

truncate(8.0)
# >>> '8.0'

truncate(8)
# >>> '8'
2 thay vì
import re

# see the notebook for a generalized version
def truncate(num):
    return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num))

truncate(8.499)
# >>> '8.49'

truncate(8.49)
# >>> '8.49'

truncate(8.4)
# >>> '8.4'

truncate(8.0)
# >>> '8.0'

truncate(8)
# >>> '8'
3. Ví dụ: sử dụng dấu phẩy hoặc thời gian để tách hàng ngàn số dựa trên ngôn ngữ của người dùng.

print('{:.2f}'.format(5.39120))
# >>> '5.40'
4

Dưới đây là một ví dụ, thiết lập locale và định dạng một số để hiển thị bộ phân cách thích hợp:

Thoát khỏi niềng răng

print('{:.2f}'.format(5.39120))
# >>> '5.40'
5

Nếu bạn cần sử dụng niềng răng khi sử dụng import re # see the notebook for a generalized version def truncate(num): return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num)) truncate(8.499) # >>> '8.49' truncate(8.49) # >>> '8.49' truncate(8.4) # >>> '8.4' truncate(8.0) # >>> '8.0' truncate(8) # >>> '8' 4, chỉ cần tăng gấp đôi chúng:

Bảng định dạng dữ liệu

print('{:.2f}'.format(5.39120))
# >>> '5.40'
6

Sử dụng chiều rộng và biện minh bên trái và bên phải để sắp xếp dữ liệu của bạn thành một định dạng bảng đẹp. Ở đây, một ví dụ để chỉ ra cách định dạng:

print('{:.2f}'.format(5.39120))
# >>> '5.40'
7

F-Strings

Điều này sẽ xuất hiện:

print('{:.2f}'.format(5.39120))
# >>> '5.40'
8

Chuỗi được định dạng hỗ trợ các chức năng chạy bên trong dấu ngoặc

import re

# see the notebook for a generalized version
def truncate(num):
    return re.sub(r'^(\d+\.\d{,2})\d*$',r'\1',str(num))

truncate(8.499)
# >>> '8.49'

truncate(8.49)
# >>> '8.49'

truncate(8.4)
# >>> '8.4'

truncate(8.0)
# >>> '8.0'

truncate(8)
# >>> '8'
7 Điều này cho phép bạn:

1. Làm toán với các chuỗi F:

print('{:.2f}'.format(5.39120))
# >>> '5.40'
9

2. Các chức năng gọi với dây F;

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
0

Bạn có thể sử dụng dây F bằng ba loại dấu ngoặc kép khác nhau trong Python, Single, Double hoặc Triple Trích dẫn. Tất cả những điều sau đây sẽ giống nhau:

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
1

Một điều bạn muốn cẩn thận là trộn hai định dạng, nếu bạn cố gắng sử dụng

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
5 bên trong chuỗi F, bạn sẽ gặp lỗi:

'{:.2f}%'.format(10.12345)
# >>> '10.12%'
2

Mỗi bộ ngoặc được sử dụng trong một chuỗi F yêu cầu một giá trị hoặc biến.

Tài nguyên

  • Thư viện chuỗi Python - Tài liệu thư viện tiêu chuẩn
  • Cookbook Python Argparse của tôi-Ví dụ về các đối số dòng lệnh phân tích cú pháp
  • Định dạng ngày Python của tôi - các ví dụ làm việc với ngày Python.

Định dạng số trong Python là gì?

Một định dạng chuyển đổi giữa các giá trị số và các biểu diễn văn bản của chúng..

Định dạng trong Python là gì?

Định dạng Python () Trong hướng dẫn này, chúng ta sẽ tìm hiểu về hàm Python định dạng () với sự trợ giúp của các ví dụ.Phương thức định dạng () trả về một biểu diễn được định dạng của giá trị đã cho được điều khiển bởi trình xác định định dạng.returns a formatted representation of the given value controlled by the format specifier.

.2f có nghĩa là gì trong Python?

Một định dạng của.2F (Lưu ý f) có nghĩa là hiển thị số có hai chữ số sau điểm thập phân.Vì vậy, số 1 sẽ hiển thị là 1,00 và số 1.5555 sẽ hiển thị là 1,56.Một chương trình cũng có thể chỉ định một ký tự chiều rộng trường: x = 0,1.to display the number with two digits after the decimal point. So the number 1 would display as 1.00 and the number 1.5555 would display as 1.56 . A program can also specify a field width character: x = 0.1.

Việc sử dụng định dạng () là gì?

Phương thức định dạng () định dạng (các) giá trị được chỉ định và chèn chúng bên trong trình giữ chỗ của chuỗi.Người giữ chỗ được xác định bằng dấu ngoặc xoăn: {}.Đọc thêm về các giữ chỗ trong phần giữ chỗ bên dưới.Phương thức định dạng () trả về chuỗi được định dạng.formats the specified value(s) and insert them inside the string's placeholder. The placeholder is defined using curly brackets: {}. Read more about the placeholders in the Placeholder section below. The format() method returns the formatted string.