cuốn sách gpt4 ai đã làm

Python3如何按一定精度向上(向下)舍入

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 00:12:48 29 4
mua khóa gpt4 Nike

Tôi cần làm tròn một cái phao. Ví dụ 4.00011. chức năng tích hợp tròn() Luôn làm tròn lên khi số > 0,5 và làm tròn xuống khi <= 5. Điều này là rất tốt. Khi tôi muốn làm tròn lên (xuống), tôi import math và sử dụng chức năng toán.ceil() (toán.sàn()) .Nhược điểm là trần nhà()sàn nhà() Không có "thiết lập" chính xác. Vì vậy, với tư cách là một lập trình viên R, về cơ bản tôi chỉ viết các hàm của riêng mình:

def my_round(x, Precision = 0, which = "up"):   
import math
x = x * 10 ** độ chính xác
nếu mà == "lên":
x = math.ceil(x)
Elif mà == "xuống":
x = math.floor(x)
x = x / (10 ** độ chính xác)
trở về(x)

my_round(4.00018, 4, "lên")

Điều này sẽ in ra 4.0002

my_round(4.00018, 4, "down")

这会打印出 4.0001

我找不到对此的问题(为什么?)。我还错过了其他模块或功能吗?拥有一个具有基本(更改的)功能的大型图书馆会很棒。

编辑:我不谈论整数。

câu trả lời hay nhất

查看我在 this SO post 中的回答.您应该能够通过将 sàn nhà Thay thế bằng tròn 来轻松地根据您的需要修改它。

如果有帮助,请告诉我!


biên tập只是感觉而已,所以想提出一个基于代码的解决方案

import math

def round2precision(val, precision: int = 0, which: str = ''):
assert precision >= 0
val *= 10 ** precision
round_callback = round
if which.lower() == 'up':
round_callback = math.ceil
if which.lower() == 'down':
round_callback = math.floor
return '{1:.{0}f}'.format(precision, round_callback(val) / 10 ** precision)


quantity = 0.00725562
print(quantity)
print(round2precision(quantity, 6, 'up'))
print(round2precision(quantity, 6, 'down'))

产生

0.00725562
0.007256
0.007255

关于Python3如何按一定精度向上(向下)舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906323/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress