得到整数的后三位

2024-04-27 23:56:41 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
2条回答

要正确处理正整数和负整数:

>>> x = -23457689
>>> print abs(x) % 1000
689

作为一个函数,您可以选择要保留的前导位数:

import math
def extract_digits(integer, digits=3, keep_sign=False):
    sign = 1 if not keep_sign else int(math.copysign(1, integer))
    return abs(integer) % (10**digits) * sign

避免转换为str的约束太迂腐了。如果数字的格式可能会改变,或者需要保留的尾随数字的格式会改变,那么转换成str将是一个很好的方法。

>>> int(str(x)[-3:])
              ^^^^^ Easier to modify this than shoe-horning the mod function.

使用%操作:

>>> x = 23457689
>>> x % 1000
689

%mod(即^{})操作。

相关问题 更多 >