[英]Finding the last digit of decimal number
我們都知道,如果我們想找到最后一個數字1182973981273983,即3,那么我們只需執行以下操作:
>>> print(1182973981273983 % 10)
3
但是,如果我想獲得最后的2387123.23,我正在考慮這樣做:
>>> 2387123.23 % 10 ** (-1 * 2)
0.009999999931681564
但這是行不通的。 將最后一個數字設為小數的數學方法是什么。
ps字符串解決方案無效。 我們是程序員,我們需要知道數學是如何工作的。
正如人們已經在評論中指出的那樣,這對於浮點數是不可能的。 “最后十進制”的概念根本不適用。 有關更多詳細信息,請參見評論中的鏈接。
另一方面,如果您使用定點算法(即Decimal
類型),則此方法有效。 然后,解決方案可能如下所示:
>>> import decimal
>>> d = decimal.Decimal('3.14')
>>> d.as_tuple().digits[-1]
4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.