簡體   English   中英

如何格式化Python中的浮點數的最小位數

[英]How to format a minimum number of digits for a float in python

是否有一種簡單的方法來格式化浮點數,以使至少有一個尾隨數字,但可以容納盡可能多的數字? 所需的輸出如下:

x = function(1)
x = '1.0'

y = function(1.1)
y = '1.1'

z = function(1.2345)
z = '1.2345'

使用'%.1f'將添加尾隨零,但也會剪切任何更長的值。 我可能可以將一個小的函數合並在一起,該函數檢查該值是否為整數並添加“ .0”,但這似乎是非Python的。

def function(value):
    if int(value) == value:
        form_string = '%i.0' % value
    else:
        form_string = ('%f' % value).rstrip('0')

    return form_string 

謝謝!

只需將其轉換為字符串並檢查是否為. 在那兒?

def function(value):
    ret = str(value)
    if '.' not in ret:
        ret += '.0'
    return ret

無論如何,如果要處理較小的值(即小於〜10 15 ),則str(float(value))具有相同的效果。

只需添加一個答案,對於固定的“我希望句點后至少有一位數字”,您只需將其格式化為浮點數即可:

def parse(a):
    return str(float(a))

暫無
暫無

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

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