Golang は、整数、浮動小数点、文字列などの複数のデータ型をサポートする最新の効率的なプログラミング言語です。しかし、実際のプログラミングでは、データ型の変換の問題に遭遇することがよくあります。その中でも、int 型から float 型への変換は比較的一般的な問題です。
Golang では、float32 および float64 データ型を使用して浮動小数点数を表現できますが、int 型は int8、int16、int32、および int64 型に分類されます。 int 型のデータを float 型に変換するには、型変換演算子を使用するだけです。
次に、実際の利用シーンを例に、Golangでint型をfloat型に変換する方法を紹介します。
- int 型変数を float32 型変数に変換する
次のステートメントを使用して、int 型変数値を float32 型変数 f:## に変換できます。 #
value := 100
f := float32(value)
ログイン後にコピー
この例では、最初に int 型の変数値を定義し、それに値 100 を割り当てます。次に、float32 型変換演算子を使用して変数の値を float32 型に変換し、変換結果を変数 f に代入します。このようにして、変数 f は値 100.0 の浮動小数点変数になります。
int 型配列を float32 型配列に変換する
場合によっては、int 型配列 arr を対応する float32 型配列に変換する必要があります。この変換プロセスを完了するには、次のコードを使用します。
arrInt := []int{1, 2, 3, 4, 5}
arrFloat := make([]float32, len(arrInt))
for i, v := range arrInt {
arrFloat[i] = float32(v)
}
ログイン後にコピー
この例では、5 つの要素を含む int 型配列 arrInt を定義し、それを {1, 2, 3, 4 , 5} に初期化します。次に、arrInt と同じ長さの float32 型配列 arrFloat を作成し、for ループを使用して配列 arrInt を走査し、各要素を float32 型に変換して、対応する arrFloat 要素に割り当てます。
int スライスを float32 スライスに変換する
配列と同様に、int スライスを対応する float32 スライスに変換することもできます。変換コードは以下のとおりです。
sliceInt := []int{1, 2, 3, 4, 5}
sliceFloat := make([]float32, len(sliceInt))
for i, v := range sliceInt {
sliceFloat[i] = float32(v)
}
ログイン後にコピー
この例では、5 つの要素を含む int 型のスライススライス Int を定義し、{1, 2, 3, 4, 5} に初期化します。次に、sliceInt と同じ長さの float32 型のliceFloat を作成し、for ループを使用してsliceInt を走査し、各要素を float32 型に変換して、対応するsliceFloat 要素に割り当てます。
文字列から int 型を解析して float32 型に変換する
実際のプロジェクトでは、文字列から int 型の値を解析する必要がある場合があります。そしてそれをfloat32型に変換します。コード例を次に示します。
str := "100"
value, err = strconv.Atoi(str)
if err != nil {
// 处理错误
}
f := float32(value)
ログイン後にコピー
この例では、まず、値が「100」の文字列変数 str を定義します。次に、strconv.Atoi() 関数を使用して文字列を整変数値に変換し、変換が失敗した場合はエラー値を返します。最後に、変数の値をエラーなく float32 型に変換し、変数 f に代入します。
概要
Golang では、int 型を float 型に変換するのは非常に簡単で、type() 演算子を使用するだけです。もちろん、型変換を実行する前に、変換結果が妥当であることを確認する必要があります。そうしないと、何らかのエラーが発生する可能性があります。上記の例とコードが、Golang でのデータ型変換をより深く理解するのに役立つことを願っています。
以上がgolang int を float にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。