2
パラメータe
はint
なので、int64
を返してみませんか?特別な理由はありますか?なぜmath.Pow10(e int)はint64ではなくfloat64を返しますか?
パラメータe
はint
なので、int64
を返してみませんか?特別な理由はありますか?なぜmath.Pow10(e int)はint64ではなくfloat64を返しますか?
2つの理由:
まず、パラメータは、結果はそれほどfloat64
戻り値はちょうど正当化が、必要とされない、0
と1
間フラクション番号である場合には、過度に負であってもよいです。
fmt.Println(math.Pow10(-1))
出力(Go Playground上でそれを試してみてください):
0.1
第二に、math
パッケージのほとんど*すべての機能がないものを追加し、タイプfloat64
の値(複数可)を返します。 「一貫性」が損なわれる。
[*]ほとんどの例外には、Float32frombits()
とllogb()
のような機能が含まれていますが、偏差は正当です。