如何获取数字的最后2位数(整数或小数)

时间:2016-03-20 20:34:56

标签: python python-3.x

我需要得到整数和小数的最后2位数。

我使用number%100运算符来获取整数的最后2位数。但是,当我在小数点上尝试相同时,我收到错误。

有没有简单的方法可以做到这一点,而无需转换为字符串并进行解析?

示例:

number = 1234.56789

我需要89。

56789 % 100 = 89

1234.56789 % 100会出错:

ValueError: invalid literal for int() with base 10

更多例子:

number = 0.1 

我需要0.1(带小数)。

1 个答案:

答案 0 :(得分:4)

以下是解决问题的有效方法:

def last_2_digits_at_best(n):
    return float(str(n)[-3:]) if '.' in str(n)[-2:] else int(str(n)[-2:])

print last_2_digits_at_best(1234.56789)
print last_2_digits_at_best(123)
print last_2_digits_at_best(0.1)
print last_2_digits_at_best(1)
print last_2_digits_at_best(0.1 + 0.2)

输出:

89
23
0.1
1
0.3
4.5
1.4