Golang中的math.Floor
返回float64。但我希望它返回一個整數。如何在執行floor
操作後獲取整數值?我可以只使用int(x)
或int32(x)
或int64(x)
?我擔心整數範圍可能與float64結果不匹配,因此會給操作帶來不準確性。如何從golang中的數學floor函數中獲得整數結果?
2
A
回答
5
在進行轉換之前,您可以比較float64的值與math.MaxInt64
或math.MinInt64
。
4
您可能只是想事先檢查;如果轉換將安全執行或溢出將發生。
由於John Weldon建議,
package main
import (
"fmt"
"math"
)
func main() {
var (
a int64
f64 float64
)
// This number doesn't exist in the float64 world,
// just a number to perform the test.
f64 = math.Floor(9223372036854775808.5)
if f64 >= math.MaxInt64 || f64 <= math.MinInt64 {
fmt.Println("f64 is out of int64 range.")
return
}
a = int64(f64)
fmt.Println(a)
}
我希望這會回答你的問題。
此外,我真的很想知道是否有更好的解決方案。 :)
相關問題
- 1. 如何從另一個函數中獲取函數的結果?
- 2. 如何從Scipy Optimize函數獲得結果數組
- 3. 從wordpress函數獲得結果SQL
- 4. 如何從這個結果集中獲得總數和計數?
- 5. 如何從golang中的數組中獲得偏度值
- 6. PowerShell從函數中獲取結果
- 7. JavaScript整數數學錯誤結果
- 8. 如何從非實驗數據(數據挖掘?)獲得科學結果
- 9. 如何從Javascript中的匿名函數得到結果?
- 10. 從python中的max函數獲得連線結果
- 11. C - 雙模的整數floor整數
- 12. PHP的 - 如何評估與大整數結果的數學?
- 13. 如何從除以兩個整數得到浮點數結果
- 14. 從mysql查詢獲得結果到一個整數數組?
- 15. PostgreSQL:獲得函數的結果
- 16. 如何從下面的查詢中獲得結果數量?
- 17. Matlab從並行函數中獲得結果很慢
- 18. 如何獲得分數以及機器學習結果?
- 19. 如何從JBCD結果集中獲取整數?
- 20. 如何從Python中的簡單函數獲得第n個結果?
- 21. 如何從多步流水線函數的每一步獲得中間結果?
- 22. 如何從Scipy數學函數中獲取X-oder Y座標
- 23. 如何將我從函數獲得的值分配給c中的整數?
- 24. 如何獲得NativeQuery的結果參數
- 25. JS中的數學 - 如何從百分比中獲得比率
- 26. 如何從此數據中獲得結果
- 27. 如何從Oracle中的函數返回數據集結果
- 28. 如何在C++中獲得可變函數參數結構?
- 29. 如何獲得汽車類用繩子一個整數結果和整數
- 30. 如何在數學函數獲得真正的價值