Home  >  Article  >  Backend Development  >  golang int to float

golang int to float

PHPz
PHPzOriginal
2023-05-15 09:01:361454browse

Golang is a modern and efficient programming language that supports multiple data types, such as integer, floating point, string, etc. However, in the actual programming process, we often encounter some data type conversion problems, among which the conversion of int type to float type is a relatively common problem.

In Golang, we can use float32 and float64 data types to represent floating point numbers, while int types are divided into int8, int16, int32 and int64 types. To convert data of type int to type float, we simply use the type conversion operator.

Next, we will take some actual usage scenarios as examples to introduce how to convert int type to float type in Golang.

  1. Convert an int type variable to a float32 type variable

We can use the following statement to convert an int type variable value into a float32 type variable f:

value := 100
f := float32(value)

In this example, we first define a variable value of type int and assign it a value of 100. Then, we use the float32 type conversion operator to convert the variable value to the float32 type, and assign the conversion result to the variable f. In this way, the variable f becomes a floating-point variable with a value of 100.0.

  1. Convert int type array to float32 type array

In some cases, we may need to convert an int type array arr to the corresponding float32 type array . We can use the following code to complete this conversion process:

arrInt := []int{1, 2, 3, 4, 5}
arrFloat := make([]float32, len(arrInt))
for i, v := range arrInt {
    arrFloat[i] = float32(v)
}

In this example, we define an int type array arrInt containing 5 elements and initialize it to {1, 2, 3, 4 , 5}. Then, we create a float32 type array arrFloat with the same length as arrInt, and use a for loop to traverse the array arrInt, convert each element to float32 type, and assign it to the corresponding arrFloat element.

  1. Convert an int slice to a float32 slice

Similar to an array, we can also convert an int slice slice to a corresponding float32 slice. The following is the conversion code:

sliceInt := []int{1, 2, 3, 4, 5}
sliceFloat := make([]float32, len(sliceInt))
for i, v := range sliceInt {
    sliceFloat[i] = float32(v)
}

In this example, we define an int type slice sliceInt containing 5 elements and initialize it to {1, 2, 3, 4, 5}. Then, we create a sliceFloat of float32 type with the same length as sliceInt, and use a for loop to traverse sliceInt, convert each element to float32 type, and assign it to the corresponding sliceFloat element.

  1. Parse the int type from the string and convert it to the float32 type

In some actual projects, we sometimes need to parse the int type value from the string , and then convert it to float32 type. The following is a code example:

str := "100"
value, err = strconv.Atoi(str)
if err != nil {
    // 处理错误
}
f := float32(value)

In this example, we first define a string variable str, whose value is "100". Then, we use the strconv.Atoi() function to convert the string into an integer variable value, and return an error value if the conversion fails. Finally, we convert the variable value to float32 type without errors and assign it to the f variable.

Summary

In Golang, converting the int type to the float type is very simple, just use the type() operator. Of course, we must ensure that the conversion result is reasonable before performing type conversion, otherwise some errors may occur. I hope the above examples and code can help you better understand data type conversion in Golang.

The above is the detailed content of golang int to float. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn