簡體   English   中英

查找十進制數的最后一位

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM