2013-12-18 625 views
2

我工作將foot的值轉換爲1英尺= 12英寸的英寸。我正在計算以英寸爲單位的人的身高。恩。 5.11身高5英尺11英寸的人總計71英寸。有沒有什麼辦法在Python中,所以我可以分開int部分&浮點數浮點部分進一步計算?歡迎任何建議。想要分離python中浮點數的整數部分和小數部分

+0

@AndrewWalker:除了在這種情況下,我們有一個XY問題,其中OP不應該有一個數字擺在首位 – Eric

回答

8

要獲得一個浮動的整數部分使用內置int()功能:

>>>int(5.1) 
5 

要分開浮體部減去浮球隨整數

>>>5.1 - int(5.1) 
0.1 

或者你可以得到具有1的浮子的模數(其是浮子部分)

>>> 5.1 % 1 
0.09999999999999964 #use the round() function if you want 0.1 
2

對你而言,5.11不是浮動。如果是,那麼這意味着5.11英尺,這是61.32英寸。

5.11是一個字符串包含兩段數據和一個分隔符 - 解析它就像一個!如果你改變了分離到更傳統的'(即5'11),顯然它不是一個單一的浮動:

raw = raw_input("Enter feet'inches") 
feet, inches = map(int, raw.split("'", 1)) 
+0

謝謝回答。有用。 – Pradeep

1

另一種方法是使用divmod(函數或運算符),使用作爲分母(除數)的數量1:

>>> divmod(5.11, 1) 
(5.0, 0.11000000000000032) 

>>> 5.11.__divmod__(1.) 
(5.0, 0.11000000000000032) 
+1

你不應該手動調用'__divmod__'! – Eric

+0

@Eric,我看了一下,但沒有發現......你能否提供一個關於爲什麼我不應該直接調用魔術函數__divmod__的參考? –

+1

你會做'myList .__ len __()'嗎? – Eric

相關問題