我们都知道,如果我们想找到最后一个1182973981273983的数字,我们就是这样做:
>>> print(1182973981273983 % 10)
3
但如果我想得到2387123.23的最后一个数字,我想这样做:
>>> 2387123.23 % 10 ** (-1 * 2)
0.009999999931681564
但它不起作用。将最后一个数字作为十进制数的数学方法是什么。
P.S。字符串解决方案无效。我们是程序员,我们需要知道数学如何运作。
答案 0 :(得分:2)
正如人们在评论中已经指出的那样,这对于浮点数是不可能的; “最后一个小数”的概念根本不适用。请参阅评论中的链接以获取更多详细信息。
另一方面,如果您使用定点算术(即Decimal
类型),这将起作用。然后解决方案可能如下所示:
>>> import decimal
>>> d = decimal.Decimal('3.14')
>>> d.as_tuple().digits[-1]
4