Go Float Data Types


Go Float Data Types

The float data types are used to store positive and negative numbers with a decimal point, like 35.3, -2.34, or 3597.34987.

The float data type has two keywords:

Type Size Range
float32 32 bits -3.4e+38 to 3.4e+38.
float64 64 bits -1.7e+308 to +1.7e+308.

Tip: The default type for float is float64. If you do not specify a type, the type will be float64.


The float32 Keyword

Example

This example shows how to declare some variables of type float32:

package main
import ("fmt")

func main() {
  var x float32 = 123.78
  var y float32 = 3.4e+38
  fmt.Printf("Type: %T, value: %v\n", x, x)
  fmt.Printf("Type: %T, value: %v", y, y)
}
Try it Yourself »

The float64 Keyword

The float64 data type can store a larger set of numbers than float32.

Example

This example shows how to declare a variable of type float64:

package main
import ("fmt")

func main() {
  var x float64 = 1.7e+308
  fmt.Printf("Type: %T, value: %v", x, x)
}
Try it Yourself »

Which Float Type to Use?

The type of float to choose, depends on the value the variable has to store.

Example

This example will result in an error because 3.4e+39 is out of range for float32:

package main
import ("fmt")

func main() {
  var x float32= 3.4e+39
  fmt.Println(x)
}

Result:

./prog.go:5:7: constant 3.4e+39 overflows float32

Try it Yourself »

Copyright 1999-2023 by Refsnes Data. All Rights Reserved.