Table of Contents
Overview
Golang requires explicit conversion to convert from one type to the other. Conversion between float32 and float64 data type requires explicit type conversion. Below is the syntax for that.
{destination_type}(some_value)
This converts some_value to the destination_type.
float32 to float64
var a float32 = 12
var b float64 = float64(a)
Or
b := float64(a)
Below is working program for the same
package main
import "fmt"
func main() {
var a float32 = 12.0
var b float64 = float64(a)
fmt.Printf("Underlying Type of b: %T\n", b)
b2 := float64(a)
fmt.Printf("Underlying Type of b2: %T\n", b2)
}
Output
Underlying Type of b: float64
Underlying Type of b2: float64
float64 to float32
var a float64 = 12
var b float32 = float32(a)
or
b := float32(a)
Below is the working program for the same.
package main
import "fmt"
func main() {
var a float64 = 12.0
var b float32 = float32(a)
fmt.Printf("Underlying Type of b: %T\n", b)
b2 := float32(a)
fmt.Printf("Underlying Type of b2: %T\n", b2)
}
In case we directly assign a float64 value to a float32 or vice versa without explicit conversion, it will raise a compilation error.
cannot use a (type float64) as type float32 in assignment
Also, check out our Golang advance tutorial Series – Golang Advance Tutorial