【发布时间】:2012-12-04 03:37:40
【问题描述】:
我有一个列表,其中包含某个数字'5.74536541',我将其转换为浮点数。
我在 Python 3 中使用("%0.2f" % (variable)) 将其打印出来,但它总是打印出 5.75 而不是 5.74。
我知道您在考虑谁在乎,但它是针对货币转换器程序的,我不希望货币向上/向下舍入,而是要准确。
我怎样才能让它不四舍五入,但同时保留 2 位小数?
【问题讨论】:
-
如果你确定字符串是一个数字,那么你可以直接处理文本。
-
你的问题没有意义,5.75 比 5.74 更接近数字。将数字存储为浮点数,并让它们四舍五入打印 - 有什么问题?
-
@wim:他没有在问题中提到原因吗?
I know you're thinking who cares, but it is for a currency converter program and I don't want the currencies to round up/down but to be exact. -
但这并不“准确”。正确的做法是让所有的数学都完全精确(甚至可能使用十进制模块,用于财务方面),并且仅出于打印目的而舍入。
标签: python list floating-point