【发布时间】:2012-10-23 19:11:17
【问题描述】:
我是 Python 的新手,想知道如何在不使用任何小数模块或浮点数的情况下控制任何给定数字的小数精度(例如:“%4f”%n)。
示例(编辑):
输入(2/7)
0.28571428571....
输入(1/3)
0.33333333333333....
并且我希望它们达到千位小数点或任何小数点。我正在考虑使用一段时间作为受控循环,但我不确定该怎么做。谢谢
编辑:我不使用十进制模块的原因只是为了让我可以概念化这些类型事物背后的算法/逻辑。只是想真正理解事物背后的逻辑。
【问题讨论】:
-
为什么不能使用十进制模块?它是标准库的一部分
-
您能否再填写您的示例?目前尚不清楚这些是输入还是输出,或者如果这些是输入,输出应该是什么样子。
-
也不清楚:“千位小数”。你的意思是小数点后1000位吗?还是小数点后三位?
-
“概念化这类事物背后的算法/逻辑” - 所以你以前从未在纸上做过长除法?
-
我不明白:首先你问如何“从概念上”做到这一点,然后你接受一个没有真正显示算法的答案,而是从内置无限精度小数到内置无限精度整数。这里哪里学? - 伙计们,不要误会我的意思,答案是简单中优雅的绝佳例子!我只是不清楚提问者如何在算法上有效地完成除法的成就,如果它必须逐步完成(暗示了一个循环)。
标签: python python-3.x