我尝试在下面创建一个温度转换器:
from decimal import *
getcontext().prec = 10
celsius = Decimal(12)
fahrenheit = celsius*9/5+32
kelvin = celsius+Decimal(273.15)
romer = celsius*21/40+Decimal(7.5)
转换为字符串时,fahrenheit
返回53.6
和romer
返回13.8
,都没有额外的小数位。但是,kelvin
返回285.1500000
. (这甚至不是285.1500001
)。我如何确保它返回足够的地方,即285.15
?我认为添加浮动小数不是问题,因为romer
很好。