我正在尝试在python中舍入整数。我看了内置的round()函数,但似乎舍入浮动了。
我的目标是将整数四舍五入到最接近的10的倍数。即:5-> 10、4-> 0、95-> 100,等等。
5和更高的值应四舍五入,4和更低的值应四舍五入。
这是我这样做的代码:
def round_int(x):
last_dig = int(str(x)[-1])
if last_dig >= 5:
x += 10
return (x/10) * 10
这是实现我想要实现的最好方法吗?有内置的功能吗?另外,如果这是最好的方法,那么我在测试中遗漏的代码是否有问题?
实际上,您仍然可以使用round函数:
>>> print round(1123.456789, -1)
1120.0
这将舍入到最接近的10的倍数。第二个参数为100,-2为-,依此类推。
问题内容: 我一直试图舍入长浮点数,例如: 到目前为止没有成功。我想,(尽管这或圆形上下,这是不是我要找的)和它没有任何工作(还是浮点数)。 我能做什么? 编辑:代码: 问题答案: int(round(x)) 将其舍入并将其更改为整数 编辑: 您没有将int(round(h))分配给任何变量。当您调用int(round(h))时,它返回整数,但不执行其他任何操作。您必须将该行更改为: 将新值分配给
问题内容: 我想将a舍入到最接近的10的倍数。 例如,如果数字为8.0,则四舍五入为10。如果数字为2.0,则将其四舍五入为0。 我怎样才能做到这一点? 问题答案: 您可以使用函数(将浮点数四舍五入到最接近的整数值)并应用“比例因子” 10: 用法示例: 在第二个示例中,除以十(),四舍五入(),转换为整数(),然后再乘以10()。 斯威夫特3: 或者:
问题内容: 我需要以下结果 还是?我该怎么办? 问题答案: 您可以使用将小数位数减少为零。假设拥有要取整的值: 使用起来有点麻烦,因为它要求您指定要保留的位数。在您的示例中,该值为3,但这不适用于所有值: (请注意,对象是不可改变的,都和会返回一个新的对象。)
问题内容: 我可以在python中进行以下舍入: 四舍五入到最接近的05小数 7,97-> 7,95 6,72-> 6,70 31,06-> 31,05 36,04-> 36,05 5,25-> 5,25 希望有道理。 问题答案:
问题内容: 我试图弄清楚如何将货币金额向上舍入至最接近的5美分。以下显示了我的预期结果 我需要结果的精度为2(如上所示)。 更新资料 按照下面的建议,我能做的就是 我不认为这是100%的原始数据-我担心在转换为双精度和从双精度转换时精度可能会丢失。但是,这是到目前为止我能想到的最好的方法,并且 似乎 可以解决。 问题答案: 您可以使用普通双精度来做到这一点。 编辑:对于负数,您需要减去0.5
问题内容: 我们如何在php中将数字四舍五入到最接近的10? 说我有,我将使用什么代码将其四舍五入? 问题答案: 会下降。 会上升。 默认情况下会最接近。 除以10,得到ceil,然后乘以10以减少有效数字。 编辑:我已经这样做了很长时间..但是TallGreenTree的答案是更干净。