[英]Preserving or adding decimal places in Python 3.x
我試圖返回一個數字,保留6位小數,無論該數字是多少。
例如:
>>> a = 3/6
>>> a
0.5
在保留其類型為float的同時,如何取a並將其設置為0.500000?
我試過了
'{0:.6f}'.format(a)
但這返回一個字符串。 我想要可以完成相同任務但返回浮點數的東西。
在計算機內存中,浮點數被存儲為IEEE754對象 ,這意味着它只是一堆以給定格式公開的二進制數據,與編寫時的數字字符串完全不同。
因此,當您對其進行操作時,它仍然是浮點數,並且小數點后沒有小數位數。 只有當您顯示它時,它才起作用,並且無論您做什么,當您顯示它時,它都會轉換為字符串。
那時,您可以進行字符串轉換,可以指定要顯示的小數位數,並使用編寫時使用的字符串格式進行轉換。
這個問題表明對諸如float和string之類的數據類型的性質有一些誤解。
計算機中的浮點數具有二進制表示形式,而不是十進制形式。 python在控制台中為您提供的十進制渲染已在打印時轉換為字符串,即使該字符串已由print函數隱含。 將0.5和0.5000000作為浮點數以其二進制表示形式存儲之間沒有區別。
在編寫應用程序代碼時,最好不要擔心演示文稿,直到演示文稿到達最終用戶為止,在這種情況下,如果只是隱式地將演示文稿轉換為字符串。 那時,您可能會擔心小數位,甚至根本不用十進制顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.