簡體   English   中英

如何返回具有定義的小數位數的浮點數?

[英]How to return a float point number with a defined number of decimal places?

因此,我知道如何打印具有特定小數位的浮點數。

我的問題是如何以指定的小數位數返回它?

謝謝。

您可以使用round()函數

關於它的文檔:

round(x[, n])

x四舍五入為n位數字,四舍五入為偶數。 如果省略n,則默認為0。

為了獲得小數點后兩位,請將數字乘以100,將其取下,然后除以100。

並請注意,您返回的數字實際上不會只有兩位小數,因為在大多數情況下,用IEEE-754浮點算術無法精確表示以100除。 它只會是只有兩個小數位的數字的最接近的可表示近似值。

如果您確實想要固定精度的浮點數,則可以使用decimal模塊。 這些數字具有用戶可更改的精度,您可以只使用兩位小數來進行計算。

浮點數具有無限的小數位數。 計算機上的物理表示形式取決於float或double或其他形式的表示,並且取決於a)語言b)構造,例如float,double等等。c)編譯器實現d)硬件。

現在,假設您在特定語言中具有浮點數(即實數)的表示形式,那么您是在問如何將其四舍五入或截斷為特定位數嗎?

在回叫中無需執行此操作,因為之后始終可以進行截斷/四舍五入。 實際上,您通常不希望在實際打印之前截斷,以保持更高的精度。 如果您想確保結果在不同算法/硬件之間是一致的,則可能是個例外。 說您有一些金融交易軟件,需要通過不同語言/平台等進行單元測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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