查找十进制数的最后一位数

时间:2016-11-05 10:22:54

标签: python

我们都知道,如果我们想找到最后一个1182973981273983的数字,我们就是这样做:

>>> print(1182973981273983 % 10)
3

但如果我想得到2387123.23的最后一个数字,我想这样做:

>>> 2387123.23 % 10 ** (-1 * 2)
0.009999999931681564

但它不起作用。将最后一个数字作为十进制数的数学方法是什么。

P.S。字符串解决方案无效。我们是程序员,我们需要知道数学如何运作。

1 个答案:

答案 0 :(得分:2)

正如人们在评论中已经指出的那样,这对于浮点数是不可能的; “最后一个小数”的概念根本不适用。请参阅评论中的链接以获取更多详细信息。

另一方面,如果您使用定点算术(即Decimal类型),这将起作用。然后解决方案可能如下所示:

>>> import decimal
>>> d = decimal.Decimal('3.14')
>>> d.as_tuple().digits[-1]
4