不知道如何在除数时保留小数

2024-09-27 23:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

事先抱歉,我对编码非常陌生,所以如果这是一个常见的问题,我很抱歉,尽管我找不到我遇到的问题的答案

我有一个值正在丢失它的小数点,所以程序没有按照我的意图计算所需的量。原始输入是2.5,因此.5正在下降,反过来输出的值仅为完整输出值的80%

我的理解是,你应该能够划分两个浮点值,但我不能让它工作,这就是为什么我一直在将我的浮点值转换为int,然后再转换为float,用于输出,但感觉不对

下面是一些使用变量的语句。如有必要,我可以提供完整的代码。基本上,在下面的第三行,我除以份数,这样我就可以根据输入的份数乘以适当的数量。这将导致一个十进制值,当我将变量转换为int时,十进制值将丢失

agave_nectar = format(agave_nectar, ".2f")
print(agave_nectar, "cup(s) agave nectar\n")
agave_nectar = agave_nectar / servings
agave_nectar = agave_nectar * servings
agave_nectar = format(agave_nectar, ".2f")
print(agave_nectar, "cup(s) agave nectar\n")
agave_nectar = int(float(agave_nectar))
agave_nectar /= 16
agave_nectar = format(agave_nectar, ".2f")
print(agave_nectar, "gallon(s) agave nectar")

我在尝试划分两个浮点值时遇到的问题是:

Traceback (most recent call last):
  File "main.py", line 16, in <module>
    lemon_juice_cups = lemon_juice_cups / servings
TypeError: unsupported operand type(s) for /: 'str' and 'str'

Tags: format编码floatintjuice浮点cuplemon
1条回答
网友
1楼 · 发布于 2024-09-27 23:27:45

您认为您正在使用两个浮点值进行除法,但实际上您正在使用两个字符串进行操作。从第16行的TypeError可以明显看出这一点

请尝试以下操作:

lemon_juice_cups = float(lemon_juice_cups) / float(servings)

相关问题 更多 >

    热门问题