我有一個名爲data
的包含字符串鍵和浮點值的Django Queryset對象。Django/Python在列表理解期間轉換浮點數
我想將所有浮點數轉換爲小數點後兩位。
如果我這樣做:
>>> param1_values = [d[param1] for d in data]
>>> param1_values[:5]
[26.1, 24.6, 26.2444444444444, 27.3103448275862, 26.7576923076923]
...這是很好的,但我需要浮到小數點後兩位。
但是,如果我這樣做:
>>> param1_values = ["%.2f" % d['mean_air_temp'] for d in data]
>>> param1_values[:5]
['26.10', '24.60', '26.24', '27.31', '26.76']
的數字是我想要的東西,但他們被轉換成字符串!爲什麼會發生這種情況,我該如何解決這個問題?
任何幫助表示讚賞。
你想實現什麼?以圓整形式存儲數字的目的是什麼? – 2012-04-03 18:06:29
在回答你的其他問題時,*爲什麼會發生這種情況?*,這是因爲當'%'運算符的第一個參數是一個字符串(''%.2f'')時,結果總是一個字符串,類似於用另一種語言如何使用'printf'。 – kojiro 2012-04-03 19:01:17