<分区>
我想在函数之间传递数字,同时保留数字的小数位。
我发现,如果我将像“10.00”这样的 float 传递给函数,则不会使用小数位。这会打乱诸如计算百分比之类的操作。
例如,x * (10/100) 将始终返回 0。 但是如果我设法保留小数位,我最终会做 x * (10.00/100)。这会返回准确的结果。
我希望有一种技术可以在我处理小数位可以包含零的数字时保持一致性。
标签 python
<分区>
我想在函数之间传递数字,同时保留数字的小数位。
我发现,如果我将像“10.00”这样的 float 传递给函数,则不会使用小数位。这会打乱诸如计算百分比之类的操作。
例如,x * (10/100) 将始终返回 0。 但是如果我设法保留小数位,我最终会做 x * (10.00/100)。这会返回准确的结果。
我希望有一种技术可以在我处理小数位可以包含零的数字时保持一致性。
最佳答案
当你写的时候
10 / 100
你正在执行整数除法。那是因为两个操作数都是整数。结果为 0
。
如果要执行浮点除法,请将其中一个操作数设为浮点值。例如:
10.0 / 100
或
float(10) / 100
也请注意
10.0 / 100
二进制浮点值和二进制 float 据类型的结果不能表示 0.1
的真实结果值。因此,如果您想准确地表示结果,您可能需要使用小数数据类型。 decimal
模块具有所需的功能。
关于python - 在 python 中,如何保留数字中的小数位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222621/