python - 如何在python中将float值的精度提高到10以上?

标签 python python-2.7 python-3.x precision

<分区>

daily_raw_consumption = float(daily_rate) * float(rep_factor)

float(daily_raw_consumption)

默认情况下,rep_factor 被转换为精度为 10 的值。例如:

实际: 60.8333333333

我需要什么: 60.833333333333333333

是否可以在不将其转换为十进制的情况下修改精度

最佳答案

考虑使用 Decimal而不是 float

from decimal import *
daily_rate = 1
rep_factor = 3
getcontext().prec = 30 # set precision to 30
daily_raw_consumption = Decimal(daily_rate) / Decimal(rep_factor)
print(daily_raw_consumption) # 0.333333333333333333333333333333

关于python - 如何在python中将float值的精度提高到10以上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619309/

相关文章:

python - 在 Python 中检查目录是否为空的最快方法是什么

python-2.7 - 在测试中 mock sleep

python-3.x - ValueError:无法将字符串转换为 float ,Python

python - 如何结束周长计算循环

python - 问 : can't install MySQL-Python on Mac OS10. 12.3

Python 列表与非唯一项的交集

Python 3 类型错误 : utf_8_encode() must be str not bytes using Requests

python - 解码和unicode之间的区别?

python - 在使用从列表中计算出最接近数字的代码时遇到问题

具有 "@"(矩阵乘法)的对象的 Python 类型提示