2015-09-06 137 views
1

我想格式化一個浮點數最小2和最大8位小數。我這樣做︰格式浮點數最小和最大小數位數

def format_btc(btc): 
    s = locale.format("%.8f", btc).rstrip('0') 
    if s.endswith(','): 
     s += '00' 
    return s 

有沒有辦法只與格式()函數做到這一點?

編輯:

例子:左邊是浮動,右邊是字符串

1 -> 1,00 
1.1 -> 1,10 (I have now realised that my code returns 1,1 for this example; that's a bug) 
1.12 -> 1,12 
1.123 -> 1,123 
1.12345678 -> 1,12345678 
1.123456789 -> 1,12345678 
1,1234567890 -> 1,12345678 
+0

你能舉一些例子嗎? – thefourtheye

回答

1

號我複查了specification language確保。可能的原因:

  1. (理論)如果小數點後8位是顯著,然後刪除0刪除信息。

  2. (實用)增加第三個數字參數的複雜性只用於浮動,然後很少不是罕見的收益。