Hướng dẫn python round up to 2 decimal places - python làm tròn đến 2 chữ số thập phân

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ần 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ần 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]

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ụ

>>> round[0.075,2]

0.07

>>> round[0.075+10**[-2*6],2]

0.08
0

Sử dụng hàm []

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.math module.

  • 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]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

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.

>>> round[0.075,2]

0.07

>>> round[0.075+10**[-2*6],2]

0.08
2

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ụ

>>> round[0.075,2]

0.07

>>> round[0.075+10**[-2*6],2]

0.08
3

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 vòng []

Đầu ra

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 để định dạng một số tròn cho n số thập phân bằng JavaScript?
  • Phao tròn và số gấp đôi trong Java
  • Làm thế nào để chọn/nhận tùy chọn thả xuống trong selenium 2?
  • Làm thế nào để làm tròn một số trong Python?
  • Làm thế nào để liệt kê tất cả các tệp theo bảng chữ cái bằng cách sử dụng Python?
  • Chia một số nổi, làm tròn nó thành 2 số thập phân và tính toán phần còn lại trong JavaScript
  • Làm thế nào để làm tròn cột MySQL với các giá trị float và hiển thị kết quả trong một cột mới?
  • Làm thế nào để chuyển đổi phao sang số nguyên trong Python?

Làm thế nào để bạn làm tròn đến 2 chữ số thập phân ở 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 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 ..

0,5 làm tròn lên hay xuống Python?

Đối với 0,5, nó làm tròn lên.For = 0,5, hàm vòng [] làm tròn số đến số chẵn gần nhất.Vì vậy, 0,5 được làm tròn về 0, và -0,5;33,5 và 34,5 đều được làm tròn đến 34;-33,5 -34,5 đều được làm tròn đến -34, v.v.. For =0.5, the round[] function rounds the number off to the nearest even number. So, 0.5 is rounded to zero, and so is -0.5; 33.5 and 34.5 are both rounded off to 34; -33.5 -34.5 are both rounded off to -34, and so on.

Chủ Đề