Goのint64の大きな値に対して累乗や除算などの演算を実行する必要がありますが、オーバーフローに問題があります。私はそれらをfloat64に変換しようとしましたが、私は他の問題に遭遇します。ここで私が試したことがあります。Goで大きな整数を扱うには?
私は便利な数学パッケージ(https://golang.org/pkg/math)を使用するためにfloat64にキャストしなければならなかった整数変数を持っています。
ただし、整数変数が大きすぎると正しくキャストされません。サイズがfloat64よりも大きいので、私はそれを仮定しています。例:
fmt.Printf("%f",float64(111111111111111110)) //Outputs 111111111111111104.000000
私はmath.Mod、math.Pow10、およびmath.Log10を使用しようとしています。私は以下のロジックをどのようにすることができますか?
int(math.Mod(float64(123)/math.Pow10(1),10))) // Gets the second digit
:ここでのint64のn番目の小数点以下の桁を抽出するためにそれを使用する方法でありますなぜ浮動小数点数が不正確なのですか?(http://stackoverflow.com/questions/21895756/why-are-floating-point-numbers-inaccurate) –
OPは浮動について質問するつもりはないことが判明しました結局のところ、すべての点で、それはその質問の重複ではありません。 – Zoyd