我使用Python進行編程,然後使用Gurobi來解決我的優化問題。作爲我的代碼的一部分,我從文本文件(稱爲「Feed2」)中讀取數據,然後對其進行一些計算。Python中的小數點
with open('Feed2.txt', 'r') as Fee:
for i in range(C):
Feed= Fee.readline()
for s in L11:
A[i,s]=float(Feed)
for s in L12:
A[i,s] =float(Feed)*1.28
for s in L13:
A[i,s] =float(Feed)*0.95
print A
結果顯示一些數字有很多數字的小數點後(如106.51209999999999或1029.4144000000001),這對於Gurobi包裝箱問題了讀取所有那些不是真正有用的數字給我。所以,我想將整個程序的小數點後的位數設置爲5,我遵循https://docs.python.org/3/library/decimal.html(代碼如下)中所述的方法;但沒有什麼改變。
from decimal import *
getcontext().prec = 5
我覺得'decimal'僅影響創建號碼設置該包,而不是普通的「浮動」號碼。此外,這只是浮點數如何在內存中表示的一個假象。這真的是一個問題嗎? –
可能的重複[如何格式化小數以始終顯示2個小數位?](https://stackoverflow.com/questions/1995615/how-can-i-format-a-decimal-to-always-show- 2位小數) –
謝謝,,; Gurobi在閱讀這些數字來解決優化問題時遇到了問題。這增加了接近一天以上的計算時間和精度,意味着以零間隙達到最佳解決方案。 – David