Hướng dẫn how do i reduce the number of decimal places float in python? - làm cách nào để giảm số lượng vị trí thập phân nổi trong python?

Tldr;]

Vấn đề làm tròn của đầu vào và đầu ra đã được giải quyết dứt khoát bằng Python 3.1 và bản sửa lỗi cũng được đưa vào Python 2.7.0.solved definitively by Python 3.1 and the fix is backported also to Python 2.7.0.

Các số tròn có thể được chuyển đổi đảo ngược giữa phao và chuỗi qua lại:

import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]] >> float[repr[0.3]] == 0.3
True

Một loại

import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]]  = 2.7.0]: because rounding errors could
accumulate more inaccuracy than that is possible after parsing one number. That is not fixed by the improved 
import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]] = 3.1, >= 2.7.0]:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]

The output string function

import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]] = 3.2 have the same results of str[] and repr[] function and also output of similar functions in Numpy.

Bài kiểm tra

import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]] > 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
3

Trong ví dụ này, chúng tôi sẽ tạo một số điểm nổi và giới hạn nó ở hai vị trí thập phân bằng cách sử dụng str. định dạng [] với hàm vòng [].

  • Giới hạn phao đến các vị trí thập phân bằng cách sử dụng toán tử định dạng chuỗi
  • Trong Python, chúng ta có thể sử dụng % làm toán tử định dạng chuỗi. Nó sẽ đại diện cho một chuỗi. Nếu chúng ta muốn biểu diễn các giá trị dấu phẩy động bằng toán tử này, thì chúng ta phải chỉ định-%. Do đó, chúng ta có thể giới hạn một float đến hai vị trí thập phân bằng toán tử định dạng chuỗi này.
  • Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []
  • Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []
  • Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []
  • >>> 0.1 + 0.2
    0.30000000000000004
    >>> 0.1, 0.2, 0.3
    [0.1, 0.2, 0.3]
    
    1
  • >>> 0.1 + 0.2
    0.30000000000000004
    >>> 0.1, 0.2, 0.3
    [0.1, 0.2, 0.3]
    
    1

Có thể sử dụng hàm vòng [] với hàm str.format []. Nó sẽ giới hạn một số điểm nổi ở hai vị trí thập phân. Vòng [] được đặt trong tham số định dạng [].

Giới hạn phao đến các vị trí thập phân bằng cách sử dụng toán tử định dạng chuỗi

Trong Python, chúng ta có thể sử dụng % làm toán tử định dạng chuỗi. Nó sẽ đại diện cho một chuỗi. Nếu chúng ta muốn biểu diễn các giá trị dấu phẩy động bằng toán tử này, thì chúng ta phải chỉ định-%. Do đó, chúng ta có thể giới hạn một float đến hai vị trí thập phân bằng toán tử định dạng chuỗi này.

Ở đây, n = 2

Float_value là số điểm nổi đầu vào.

float_value = 67.89433

Trong ví dụ này, chúng tôi sẽ tạo một số điểm nổi và giới hạn nó ở hai vị trí thập phân bằng toán tử định dạng chuỗi.

67.82

Chúng ta có thể thấy rằng 67.822342 được trả về là 67,82 bằng cách chỉ giới hạn hai giá trị thập phân bằng toán tử định dạng chuỗi.

Trong Python, chúng ta có thể sử dụng % làm toán tử định dạng chuỗi. Nó sẽ đại diện cho một chuỗi. Nếu chúng ta muốn biểu diễn các giá trị dấu phẩy động bằng toán tử này, thì chúng ta phải chỉ định-%. Do đó, chúng ta có thể giới hạn một float đến hai vị trí thập phân bằng toán tử định dạng chuỗi này.

Ở đây, n = 2

Syntax:

round[float_value, n]

Nó có hai tham số.

  1. Float_value là số điểm nổi
  2. n đại diện cho tổng số vị trí thập phân được làm tròn trong số điểm nổi đã cho.

Ở đây, chúng ta phải làm tròn số điểm nổi đến 2 vị trí thập phân. Vì vậy, n = 2

round[float_value, 2]

Example:

Trong ví dụ này, chúng tôi sẽ tạo ra một số điểm nổi và giới hạn nó ở hai vị trí thập phân.

# Create a float value
float_value = 67.822342

# display actual float value
print["Actual value: ",float_value]

# formatted value
print["2 Decimal places: ",round[float_value, 2]]

Output:

Actual value:  67.822342
2 Decimal places:  67.82

Chúng ta có thể thấy rằng 67.822342 được trả về là 67,82 bằng cách chỉ giới hạn hai giá trị thập phân.

Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []

Str.format [] được sử dụng để định dạng chuỗi. Nó được sử dụng để định dạng số điểm nổi đã cho để trả về với 2 vị trí thập phân bằng cách sử dụng Chuỗi Formatter - {: .2f}.

Syntax:

"{:.nf} ".format[float_value]

Nó có hai tham số.

  1. float_value là số điểm nổi
  2. .nf đại diện cho một định dạng chuỗi sẽ trả về các số điểm nổi với các vị trí thập phân n.

Ở đây, n = 2

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
0

Example:

Trong ví dụ này, chúng tôi sẽ tạo ra một số điểm nổi và giới hạn nó ở hai vị trí thập phân.

Chúng ta có thể thấy rằng 67.822342 được trả về là 67,82 bằng cách chỉ giới hạn hai giá trị thập phân.

Output:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
2

Chúng ta có thể thấy rằng 67.822342 được trả về là 67,82 bằng cách chỉ giới hạn hai giá trị thập phân.

Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []

Str.format [] được sử dụng để định dạng chuỗi. Nó được sử dụng để định dạng số điểm nổi đã cho để trả về với 2 vị trí thập phân bằng cách sử dụng Chuỗi Formatter - {: .2f}.

Syntax:

float_value là số điểm nổi

Example:

.nf đại diện cho một định dạng chuỗi sẽ trả về các số điểm nổi với các vị trí thập phân n.

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
4

Output:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
2

Chúng ta có thể thấy rằng 67.822342 được trả về là 67,82 bằng cách chỉ giới hạn hai giá trị thập phân.

Giới hạn nổi cho n vị trí thập phân bằng cách sử dụng str.format [] với vòng []

Str.format [] được sử dụng để định dạng chuỗi. Nó được sử dụng để định dạng số điểm nổi đã cho để trả về với 2 vị trí thập phân bằng cách sử dụng Chuỗi Formatter - {: .2f}.

Syntax:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
6

float_value là số điểm nổi

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
7

.nf đại diện cho một định dạng chuỗi sẽ trả về các số điểm nổi với các vị trí thập phân n.

Example:

Ở đây, n = 2

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
8

Output:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
9

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
1

Có thể sử dụng hàm vòng [] với hàm str.format []. Nó sẽ giới hạn một số điểm nổi ở hai vị trí thập phân. Vòng [] được đặt trong tham số định dạng [].

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
3

Syntax:

import random
from decimal import Decimal
for _ in range[1000000]:
    x = random.random[]
    assert x == float[repr[x]] == float[Decimal[repr[x]]]  # Reversible repr[]
    assert str[x] == repr[x]
    assert len[repr[round[x, 12]]] > 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
9

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
1

Có thể sử dụng hàm vòng [] với hàm str.format []. Nó sẽ giới hạn một số điểm nổi ở hai vị trí thập phân. Vòng [] được đặt trong tham số định dạng [].

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1, 0.2, 0.3
[0.1, 0.2, 0.3]
3

Bài Viết Liên Quan

Chủ Đề