Hướng dẫn how do you round a float to 2 decimal places in python? - làm thế nào để bạn làm tròn số float đến 2 chữ số thập phân 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
3 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
4.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
4.

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
5 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
7.

>>> 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
5 khi bạn mong đợi. Một giá trị thuận tiện để thêm là
>>> round[0.075,2]

0.07

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

0.08
9 trong đó
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
0 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
5 trên Plus
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
2.

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]
3 là có chủ ý, vì nó là số lượng nhỏ lớn nhất bạn có thể thêm để 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
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
4. Tôi có thể chỉ sử dụng
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
5 với một
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
6 có khả năng để trừ đi
def roundTraditional[val,digits]:
   return round[val+10**[-len[str[val]]-1], digits]
2 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]
2 vì điều đó sẽ không thay đổi nhiều phạm vi áp dụng của 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
4 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
4 fringe case occurs only for certain values here.

Làm thế nào để bạn làm tròn đến 2 số thập phân trong Python?

Khoa học dữ liệu thực tế sử dụng hàm vòng [] của Python Python đòi hỏi hai đối số. Đầu tiên là số được làm tròn. Đối số thứ hai quyết định số lượng vị trí thập phân mà nó được làm tròn. Để làm tròn số đến 2 số thập phân, đưa ra đối số thứ hai là 2.

Làm thế nào để bạn làm một chiếc phao đến 2 thập phân?

Cú pháp %.2F bảo Java trả về biến [giá trị] của bạn với 2 vị trí thập phân [. 2] trong biểu diễn thập phân của số điểm nổi [f] từ đầu của định dạng định dạng [ %].

Ví dụ loại phao Python

Bây giờ, chúng ta hãy in một số float và quan sát đầu ra sau.

Lấy một biến x, lưu trữ bất kỳ giá trị float nào và in biến X bằng cách sử dụng câu lệnh in.

x = 1.234
print[x]


1.234

Bây giờ, nếu bạn quan sát đầu ra ở trên của câu lệnh in, bạn sẽ thấy rằng có ba vị trí thập phân sau điểm thập phân. Một câu hỏi được đặt ra ở đây, điều gì sẽ xảy ra nếu lập trình viên chỉ cần in giá trị nổi cho một số vị trí thập phân nhất định.

Ví dụ như trong mã trên, x = 1.234. Lập trình viên chỉ cần in hai vị trí thập phân sau điểm thập phân, tức là giá trị x nên là 1,23. Vì vậy, cho mục đích này, chúng ta có thể sử dụng hàm vòng [].

Vòng đến hai số thập phân bằng cách sử dụng hàm vòng []

Hàm

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[]
3 là một hàm tích hợp được sử dụng để có được số điểm nổi được làm tròn theo số số thập phân được chỉ định.

Cú pháp

round[number, digit]

Nếu chữ số [tham số thứ hai] không được đưa ra, nó sẽ trả lại số nguyên gần nhất cho số đã cho, nếu không nó sẽ trả số được làm tròn cho giá trị chữ số đã cho.

# for integers
print[round[10]]

# for floating point
print[round[10.7,2]]
print[round[5.5678,2]]
print[round[-12.481,2]]


10 10.7 5.57 -12,48
10.7
5.57
-12.48

Trong số nguyên, không có điểm thập phân nên câu trả lời vẫn giữ nguyên. Trong các điểm nổi, 10,7 cho 10,7 vì giá trị chính xác được đặt thành 2 chữ số thập phân trong khi trong 5.5678, giá trị thay đổi thành 5,57. Giá trị này làm tròn đến hai vị trí thập phân.

Vòng đến hai thập phân bằng hàm định dạng [] hàm

Chúng ta có thể sử dụng hàm

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[]
4 để hiển thị giá trị nổi với hai vị trí thập phân. Nó giữ cho giá trị thực tế nguyên vẹn và đơn giản để thực hiện.

Cú pháp

{:0.2f}, .format[number]

Nếu chữ số [tham số thứ hai] không được đưa ra, nó sẽ trả lại số nguyên gần nhất cho số đã cho, nếu không nó sẽ trả số được làm tròn cho giá trị chữ số đã cho.

print["Sir, your shopping bill amount is Rs. {:0.2f}.".format[206.551]]


10 10.7 5.57 -12,48

Trong số nguyên, không có điểm thập phân nên câu trả lời vẫn giữ nguyên. Trong các điểm nổi, 10,7 cho 10,7 vì giá trị chính xác được đặt thành 2 chữ số thập phân trong khi trong 5.5678, giá trị thay đổi thành 5,57. Giá trị này làm tròn đến hai vị trí thập phân.

Vòng đến hai thập phân bằng hàm định dạng [] hàm

number= 7.361

print["\"Sir, your shopping bill amount is Rs. %.2f ." % number]


Chúng ta có thể sử dụng hàm

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[]
4 để hiển thị giá trị nổi với hai vị trí thập phân. Nó giữ cho giá trị thực tế nguyên vẹn và đơn giản để thực hiện.

ví dụ 1

Thưa ông, số tiền hóa đơn mua sắm của bạn là Rs. 206,55.

Ví dụ 2

>>> round[0.075,2]

0.07

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

0.08
0


Chúng ta cũng có thể sử dụng hàm

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[]
5Instead của định dạng [] để có đầu ra được định dạng. Nó tương tự như trình xác định định dạng trong hàm in của ngôn ngữ C. Chỉ cần sử dụng định dạng với %.2F cung cấp cho bạn làm tròn xuống còn 2 dấu thập phân.
2.36
2.35

Thưa ông, số tiền hóa đơn mua sắm của bạn là Rs. 7.36.

Vòng đến hai số thập phân sử dụng hàm car []

>>> round[0.075,2]

0.07

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

0.08
1


2.29

Ví dụ 2

Chúng ta cũng có thể sử dụng hàm

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[]
5Instead của định dạng [] để có đầu ra được định dạng. Nó tương tự như trình xác định định dạng trong hàm in của ngôn ngữ C. Chỉ cần sử dụng định dạng với %.2F cung cấp cho bạn làm tròn xuống còn 2 dấu thập phân.

>>> round[0.075,2]

0.07

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

0.08
2


2.29

Thưa ông, số tiền hóa đơn mua sắm của bạn là Rs. 7.36.

Note:

Vòng đến hai số thập phân sử dụng hàm car []

Mô -đun toán học Python cung cấp

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[]
6and____37fiftions để làm tròn và làm tròn bất kỳ giá trị nào. Các chức năng sàn và trần thường ánh xạ một số thực cho số nguyên lớn nhất hoặc nhỏ nhất trước đó không có vị trí thập phân. Vì vậy, để sử dụng chúng cho 2 vị trí thập phân, số lượng đầu tiên được nhân với 100 để chuyển điểm thập phân và sau đó được chia cho 100 sau đó để bù.

Thí dụ

2.36 2.36 2,35

Vòng đến hai thập phân bằng mô -đun thập phân

Làm thế nào để bạn làm tròn đến 2 số thập phân trong Python?

Khoa học dữ liệu thực tế sử dụng hàm vòng [] của Python Python đòi hỏi hai đối số. Đầu tiên là số được làm tròn. Đối số thứ hai quyết định số lượng vị trí thập phân mà nó được làm tròn. Để làm tròn số đến 2 số thập phân, đưa ra đối số thứ hai là 2.give second argument as 2.

Làm thế nào để bạn làm một chiếc phao đến 2 thập phân?

Cú pháp %.2F bảo Java trả về biến [giá trị] của bạn với 2 vị trí thập phân [. 2] trong biểu diễn thập phân của số điểm nổi [f] từ đầu của định dạng định dạng [ %].%. 2f syntax tells Java to return your variable [value] with 2 decimal places [. 2] in decimal representation of a floating-point number [f] from the start of the format specifier [%].

Làm thế nào để bạn làm tròn một giá trị nổi trong Python?

Hàm python vòng [] hàm vòng [] hàm trả về một số điểm nổi là phiên bản tròn của số được chỉ định, với số thập phân được chỉ định.Số thập phân mặc định là 0, có nghĩa là hàm sẽ trả về số nguyên gần nhất.round[] Function The round[] function returns a floating point number that is a rounded version of the specified number, with the specified number of decimals. The default number of decimals is 0, meaning that the function will return the nearest integer.

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

Bài Viết Liên Quan

Chủ Đề