Golangのmath.Floor
は、float64を返します。しかし、私はそれが整数を返すようにしたいと思います。 floor
操作を実行した後に整数値を取得するにはどうすればよいですか? int(x)
またはint32(x)
またはint64(x)
を使用できますか? float64の結果と整数の範囲が一致しない可能性があるので、操作に不正確さが生じます。golangの数学フロア関数から整数結果を得るには?
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. 結果を改善するデバイスの数学関数(CUDA)
- 2. JavaScript関数(数学演算)の間違った結果
- 3. PostgreSQL:関数の結果を得る
- 4. 数学関数を別の数学関数に適用する
- 5. 他の関数から入力変数の結果を取る関数
- 6. JSからのデータをコントローラ内の関数に送信し、関数から結果を取得する
- 7. テーブル関数の結果から取得する
- 8. 関数の結果
- 9. なぜ私の関数は整数の結果ではなく "関数"を返しますか?
- 10. C#:テキストボックスから関数に数学関数を渡す方法
- 11. 浮動小数点数と整数をSQLで除算して整数の結果を得る
- 12. パンダは、関数の結果
- 13. Golangの関数リストから関数を選択する
- 14. Rの関数から複数の結果値を使用するには?
- 15. 結果を数える範囲関数
- 16. java数学の結果のタイプ
- 17. PL/SQL:デュアルから複数行の関数結果を選択
- 18. NTL関数結果
- 19. 分割結果のフロア
- 20. 関数からの結果をnodejsの別の関数に渡す
- 21. Golangの整数を浮動小数点数に変換する
- 22. floatとdouble値のフロア関数
- 23. フロア分割の再帰関数
- 24. Pythonの数学、numpyのモジュールは異なる結果ですか?
- 25. Java、2つの整数を長い結果に結合する負の数
- 26. MeteorJSは以前の関数からJSの結果を取得しますか?
- 27. 私の(結果整数)グローバルスタティック変数を作る方法
- 28. 与えられたベクトルから最大の結果を得るPHP関数
- 29. Eclipseの結果の整数値のみ
- 30. 関数の結果auto &&