Hướng dẫn how do you round up 2 digits in python? - làm thế nào để bạn làm tròn 2 chữ số trong python?

Bạn muốn làm tròn câu trả lời của bạn.

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
4 là giải pháp thông thường để làm điều này, tuy nhiên điều này đôi khi không hoạt động như người ta mong đợi từ góc độ toán học khi chữ số ngay lập tức kém hơn (bên trái), chữ số bạn làm tròn để có
>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
5.sometimes does not operate as one would expect from a math perspective when the digit immediately inferior (to the left of) the digit you're rounding to has a
>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
5.

Dưới đây là một số ví dụ về hành vi không thể đoán trước này:

>>> round(1.0005,3)
1.0
>>> round(2.0005,3)
2.001
>>> round(3.0005,3)
3.001
>>> round(4.0005,3)
4.0
>>> round(1.005,2)
1.0
>>> round(5.005,2)
5.0
>>> round(6.005,2)
6.0
>>> round(7.005,2)
7.0
>>> round(3.005,2)
3.0
>>> round(8.005,2)
8.01

Giả sử ý định của bạn là thực hiện việc làm tròn truyền thống cho các số liệu thống kê trong khoa học, đây là một trình bao bọc tiện dụng để có được chức năng

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
6 hoạt động như mong đợi cần phải có thêm những thứ như
>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
8.

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08

Aha! Vì vậy, dựa trên điều này, chúng ta có thể tạo ra một chức năng ...

def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)

Về cơ bản, điều này thêm một giá trị thực sự nhỏ vào chuỗi để buộc nó phải làm tròn đúng các trường hợp không thể đoán trước được, nơi nó không thông thường với chức năng

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
6 khi bạn mong đợi. Một giá trị thuận tiện để thêm là
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
0 trong đó
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
1 là độ dài của chuỗi số bạn đang cố gắng sử dụng
>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
6 trên Plus
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
3.

Cách tiếp cận của việc sử dụng

def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
4 là có chủ ý, vì nó là số lượng nhỏ lớn nhất bạn có thể thêm vào để buộc sự thay đổi, đồng thời đảm bảo rằng giá trị bạn thêm không bao giờ thay đổi làm tròn ngay cả khi thiếu thập phân
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
5. Tôi có thể chỉ sử dụng
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
6 với một
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
7 có khả năng để trừ đi
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
3 nữa ... nhưng đơn giản hơn khi luôn trừ
def roundTraditional(val,digits):
   return round(val+10**(-len(str(val))-1), digits)
3 vì điều đó sẽ không thay đổi nhiều phạm vi áp dụng số thập phân này có thể xử lý đúng. Cách tiếp cận này sẽ thất bại nếu các giá trị của bạn đạt đến giới hạn của loại, điều này sẽ thất bại, nhưng đối với gần như toàn bộ phạm vi giá trị thập phân hợp lệ mà nó sẽ hoạt động.

Vì vậy, mã đã hoàn thành sẽ giống như:

def main():
    printC(formeln(typeHere()))

def roundTraditional(val,digits):
    return round(val+10**(-len(str(val))-1))

def typeHere():
    global Fahrenheit
    try:
        Fahrenheit = int(raw_input("Hi! Enter Fahrenheit value, and get it in Celsius!\n"))
    except ValueError:
        print "\nYour insertion was not a digit!"
        print "We've put your Fahrenheit value to 50!"
        Fahrenheit = 50
    return Fahrenheit

def formeln(c):
    Celsius = (Fahrenheit - 32.00) * 5.00/9.00
    return Celsius

def printC(answer):
    answer = str(roundTraditional(answer,2))
    print "\nYour Celsius value is " + answer + " C.\n"

main()

... nên cung cấp cho bạn kết quả bạn mong đợi.

Bạn cũng có thể sử dụng thư viện thập phân để thực hiện điều này, nhưng trình bao bọc mà tôi đề xuất đơn giản hơn và có thể được ưa thích trong một số trường hợp.


EDIT: Cảm ơn Blckknght vì đã chỉ ra rằng trường hợp rìa

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
5 chỉ xảy ra đối với các giá trị nhất định ở đây. Thanks Blckknght for pointing out that the
>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
5 fringe case occurs only for certain values here.


Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách làm tròn số lượng nổi lên tới 2 số thập phân trong Python. Dưới đây là các phương pháp khác nhau để thực hiện nhiệm vụ này:2 decimals in python. Below are the various methods to accomplish this task:

  • Sử dụng hàm vòng ()

  • Sử dụng hàm định dạng ()

  • Sử dụng mô -đun thập phân

  • Sử dụng hàm ()

Sử dụng hàm vòng ()

Sử dụng hàm định dạng ()round() function gives a floating point number with a specified number of decimals which is the rounded version of the specified number.

Sử dụng mô -đun thập phân

Sử dụng hàm ()

round(number, digits)

Hàm vòng () đưa ra một số điểm nổi với số thập phân được chỉ định là phiên bản tròn của số được chỉ định.

  • Hàm sẽ trả về số nguyên gần nhất vì giá trị mặc định cho số thập phân là 0.- a number that should be rounded

  • Cú pháp- upto the number of decimals to be rounded. 0 is the default.

Thông số

số (bắt buộc)- một số nên được làm tròn

  • Chữ số (Tùy chọn)- Tối đa số lượng số thập phân được làm tròn. 0 là mặc định.

  • Thuật toán (bước)number, 2 (decimal value) as arguments to the round() function to round the input number upto the 2 decimal places.

  • Sau đây là các thuật toán/các bước được tuân thủ để thực hiện nhiệm vụ mong muốn -.2 decimals.

Tạo một biến để lưu trữ số đầu vào.

Truyền số đầu vào, 2 (giá trị thập phân) làm đối số cho hàm vòng () để làm tròn số đầu vào cho đến 2 vị trí thập phân.

inputNumber = 3.367824 roundedNumber = round(inputNumber, 2) print("Rounding 3.367824 upto 2 decimal places:", roundedNumber)

In giá trị tròn của số dấu nổi đầu vào lên đến 2 số thập phân.

Thí dụ

Rounding 3.367824 upto 2 decimal places: 3.37

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

Thông số

số (bắt buộc)- một số nên được làm tròn

  • Chữ số (Tùy chọn)- Tối đa số lượng số thập phân được làm tròn. 0 là mặc định.

  • Thuật toán (bước)format() function(It gives back a formatted version of the input value that has been specified by the format specifier) to round the number upto the 2 decimal places by passing the input number, format (upto to the 2 decimals) as arguments to it.

Tạo một biến để lưu trữ số đầu vào.

Truyền số đầu vào, 2 (giá trị thập phân) làm đối số cho hàm vòng () để làm tròn số đầu vào cho đến 2 vị trí thập phân.

inputNumber = 4.56782 print("Rounding 4.56782 upto 2 decimal places:", format(inputNumber,".2f"))

In giá trị tròn của số dấu nổi đầu vào lên đến 2 số thập phân.

Thí dụ

Rounding 4.56782 upto 2 decimal places: 4.57

Sử dụng mô -đun thập phân

Sử dụng hàm ()decimal module helps to increase the accuracy of floating-point numbers. To use this decimal module, we must import it.

Hàm vòng () đưa ra một số điểm nổi với số thập phân được chỉ định là phiên bản tròn của số được chỉ định. − Gives a decimal value of 50 digits as default.

Hàm sẽ trả về số nguyên gần nhất vì giá trị mặc định cho số thập phân là 0.value.quantize(decimal.Decimal(‘0.00’)) to round upto 2 digits after the decimal point.

Thông số

số (bắt buộc)- một số nên được làm tròn

  • Chữ số (Tùy chọn)- Tối đa số lượng số thập phân được làm tròn. 0 là mặc định.

  • Chữ số (Tùy chọn)- Tối đa số lượng số thập phân được làm tròn. 0 là mặc định.

  • Thuật toán (bước)

  • Sau đây là các thuật toán/các bước được tuân thủ để thực hiện nhiệm vụ mong muốn -.value.quantize(decimal.Decimal()) function.

  • Tạo một biến để lưu trữ số đầu vào.

  • Truyền số đầu vào, 2 (giá trị thập phân) làm đối số cho hàm vòng () để làm tròn số đầu vào cho đến 2 vị trí thập phân.

Tạo một biến để lưu trữ số đầu vào.

Truyền số đầu vào, 2 (giá trị thập phân) làm đối số cho hàm vòng () để làm tròn số đầu vào cho đến 2 vị trí thập phân.

import decimal inputNumber = 35.65782 decimalValue = decimal.Decimal(inputNumber) roundedNumber = decimalValue.quantize(decimal.Decimal('0.00')) print("Input floating-point number: ", inputNumber) print("Rounding 35.65782 upto 2 decimal places:", roundedNumber)

Đầu ra

Khi thực hiện, chương trình trên sẽ tạo ra đầu ra sau -

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
0

Sử dụng hàm ()

Thuật toán (bước)

Sau đây là các thuật toán/các bước cần tuân thủ để thực hiện nhiệm vụ mong muốn -.

  • Sử dụng từ khóa nhập để nhập mô -đun toán học.math module.

  • Tạo một biến để lưu trữ số điểm nổi đầu vào.

  • Sử dụng hàm trần () (trả về giá trị trần của số, tức là, số nguyên nhỏ nhất lớn hơn hoặc bằng số), để làm tròn số lên đến 2 chữ số thập phân và in số kết quả.ceil() function(returns a ceiling value of the number i.e., the smallest integer greater than or equal to the number), to round the number upto the 2 decimal places and print the resultant number.

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
1

Thí dụ

Chương trình sau đây trả về giá trị tròn của số dấu phẩy động đầu vào lên tới 2 số thập phân bằng hàm car ()-

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
2

Đầu ra

Khi thực hiện, chương trình trên sẽ tạo ra đầu ra sau -

>>> round(0.075,2)

0.07

>>> round(0.075+10**(-2*6),2)

0.08
3

Sử dụng hàm ()

Thuật toán (bước)

Hướng dẫn how do you round up 2 digits in python? - làm thế nào để bạn làm tròn 2 chữ số trong python?

Sau đây là các thuật toán/các bước cần tuân thủ để thực hiện nhiệm vụ mong muốn -.

  • Sử dụng từ khóa nhập để nhập mô -đun toán học.
  • Tạo một biến để lưu trữ số điểm nổi đầu vào.
  • Sử dụng hàm trần () (trả về giá trị trần của số, tức là, số nguyên nhỏ nhất lớn hơn hoặc bằng số), để làm tròn số lên đến 2 chữ số thập phân và in số kết quả.
  • Thí dụ
  • Chương trình sau đây trả về giá trị tròn của số dấu phẩy động đầu vào lên tới 2 số thập phân bằng hàm car ()-
  • Sự kết luận
  • Trong bài viết này, chúng tôi đã học được cách làm tròn một số nổi nhất định cho hai vị trí thập phân trong Python bằng bốn phương pháp khác nhau. Sử dụng chức năng trần và một số logic toán học, chúng tôi đã học cách làm tròn đến hai vị trí thập phân. Chúng tôi cũng đã học cách sử dụng mô -đun thập phân để chuyển đổi một số điểm nổi nhất định thành thập phân và định lượng nó.
  • Cập nhật vào ngày 28 tháng 10 năm 2022 11:39:08
  • Câu hỏi và câu trả lời liên quan
  • Chương trình Java đến số tròn đến số thập phân ít hơn
  • Làm thế nào để làm tròn xuống số nguyên gần nhất trong MySQL?
  • Làm thế nào để bạn làm tròn một số float trong Python?
  • Làm thế nào tôi có thể làm tròn một số trong JavaScript?
  • Làm thế nào để làm tròn một số nổi bằng Python?
  • Làm thế nào để chuyển đổi số lượng thành float và làm tròn chính xác trong PHP?
  • Số tròn xuống công suất gần nhất của 10 javascript

Làm thế nào để bạn làm tròn 2 chữ số trong Python?

Sử dụng hàm trần () (trả về giá trị trần của số, tức là, số nguyên nhỏ nhất lớn hơn hoặc bằng số), để làm tròn số lên đến 2 chữ số thập phân và in số kết quả.

Làm thế nào để bạn làm tròn các chữ số trong Python?

Python có hàm vòng () tích hợp có hai đối số số, n và ndigits và trả về số N được làm tròn cho ndigits. Đối số NDigits mặc định là 0, do đó, để lại kết quả trong một số được làm tròn cho một số nguyên. . The ndigits argument defaults to zero, so leaving it out results in a number rounded to an integer.

Làm thế nào để bạn làm tròn 2 số chữ số?

Làm tròn một số thập phân đến hai vị trí thập phân giống như làm tròn nó đến vị trí thứ trăm, đây là nơi thứ hai ở bên phải của dấu thập phân.Ví dụ, 2.83620364 có thể được làm tròn đến hai vị trí thập phân là 2,84 và 0,7035 có thể được làm tròn đến hai vị trí thập phân là 0,70.rounding it to the hundredths place, which is the second place to the right of the decimal point. For example, 2.83620364 can be round to two decimal places as 2.84, and 0.7035 can be round to two decimal places as 0.70.

Làm thế nào để bạn sử dụng .2f trong Python?

2F là một trình giữ chỗ cho số điểm nổi.Vì vậy, %D được thay thế bằng giá trị đầu tiên của tuple tức là 12 và %.2F được thay thế bằng giá trị thứ hai I.E 150.87612.... Định dạng chuỗi Python ..