我想弄清楚如何綜合。 例如:如何在Python中的這種特殊情況下對數字進行總結?
3.1049 -> 3.11
我該如何綜述? 謝謝!
編輯:
num = 3.1049
print (round(a, 2))
>>> 3.1
,但我想:
>>>3.11 #as 3.1049-> 3.105->3.11
我想弄清楚如何綜合。 例如:如何在Python中的這種特殊情況下對數字進行總結?
3.1049 -> 3.11
我該如何綜述? 謝謝!
編輯:
num = 3.1049
print (round(a, 2))
>>> 3.1
,但我想:
>>>3.11 #as 3.1049-> 3.105->3.11
在這裏你去老兄,這是很簡單的閱讀,並且不需要任何新的庫:
num = 3.1049
print(%.2f" % num)
這會給你以下結果:
>>> num = 3.1049
>>> print(%.2f" % num)
>>> 3.10
>>> num = 3.1051
>>> print(%.2f" % num)
>>> 3.11
因此,我們可以創建這樣的方法,它看起來像:
>>> def round_hundredths(num):
return "%.2f" % num
>>> print(round_hundredths(3.1049))
,輸出:
>>> 3.10
希望你明白是怎麼回事!
我認爲數學模塊可能適合您的情況。
import math
num = 3.1049
print(math.ceil(num*100)/100)
OP想整理。可能是一個通用的解決方案。 Gumboy的解決方案有效。這是一個通用的解決方案。
def mround(x, n):
x_str = str(x).split('.')
for i in range(len(x_str[1]), n, -1):
s = 5 * 10 ** -i
if xs[1][-i + 1] == '0':
x = round(x, i - 1)
else:
x = round(x + s, i - 1)
return x
用法:
>>> mround(3.1049, 2)
3.11
>>> mround(3.1049, 1)
3.1
它使用一個循環,向上舍每一位小數。
它並沒有從9的綜合報告,但4 ...我想從9綜合起來。 – Kristine
你是從9表示什麼意思? 9是小數點後第四位,所以舍入將有3位小數,這將是3.105。 – njzk2
你目前有什麼代碼?這不是一個代碼寫入服務。 – blacksite