不确定如何在划分数字时保留小数
Not sure how to retain the decimal when dividing numbers
提前抱歉,我对编码还很陌生,所以如果这是一个常见问题,我深表歉意,尽管我找不到我遇到的问题的答案。
我有一个值正在丢失它的小数,所以程序没有按照我打算的方式计算所需的数量。原始输入为 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'
你以为你是用两个浮点数除法,其实你是用两个字符串运算。从您在第 16 行的 TypeError
中可以明显看出这一点。
请尝试以下操作:
lemon_juice_cups = float(lemon_juice_cups) / float(servings)
提前抱歉,我对编码还很陌生,所以如果这是一个常见问题,我深表歉意,尽管我找不到我遇到的问题的答案。
我有一个值正在丢失它的小数,所以程序没有按照我打算的方式计算所需的数量。原始输入为 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'
你以为你是用两个浮点数除法,其实你是用两个字符串运算。从您在第 16 行的 TypeError
中可以明显看出这一点。
请尝试以下操作:
lemon_juice_cups = float(lemon_juice_cups) / float(servings)