我使用golang的bigint作爲長期運行服務的計數器,其中統計計數器可能長期溢出常規uint64;但偶爾我需要計算一下自節目開始以來的平均速度是多少?需要像float(bigint)/time.Since(beginning).Seconds()
這樣的部門;轉換精度輸球的速率計算如何將golang math/big int轉換爲float?
https://golang.org/pkg/math/big/#Int.Uint64
但這種float64(bigint)
接受不實際工作,我看到的圖書館有「bigint.Uint64()的轉換,但如果溢出一個它的不確定常規uint64;我想知道爲什麼標準庫不提供一個.Float64()
方法?並沒有任何解決辦法如何讓一個浮動
謝謝;我再次閱讀文檔,只是意識到'func(z * Float)SetInt(x * Int)* Float'正是我所需要的 – user5672998
您也可以使用'big.Rat'來按照您所提到的持續時間進行除法你對如何擔心準確性感到擔憂。 – djd