python - 在 python 中,如何保留数字中的小数位?

标签 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/

相关文章:

python - NLTK 关系提取 - relextract.extract_rels 中的自定义语料库

python - 使用特定列对数据框进行子类化

python - 如何将管道分隔的字符串读入数据帧?

python - 工厂方法模式与多处理队列的使用冲突

python - Pandas分类数据: Storing the transformation

python - 从列表项的不同组合创建元素列表

python - 如何全局禁用 Django Rest Framework 上的 OPTIONS 方法?

python Fabric : filter out server output when capturing output of run()

python - 如何查找列表中每个长度的连续值序列的数量?

python - Theano GPU 计算比 numpy 慢