64-bit computer number format
Double-precision floating-point format (sometimes called FP64 or float64) is a floating-point number format, usually occupying 64 bits in computer memory; it represents a wide range of numeric values by using a floating … Wikipedia
🌐
Wikipedia
en.wikipedia.org › wiki › Double-precision_floating-point_format
Double-precision floating-point format - Wikipedia
January 9, 2026 - Double-precision floating-point format (sometimes called FP64 or float64) is a floating-point number format, usually occupying 64 bits in computer memory; it represents a wide range of numeric values by using a floating radix point.
🌐
Medium
medium.com › @amit25173 › understanding-numpy-float64-a300ac9e096a
Understanding numpy.float64. If you think you need to spend $2,000… | by Amit Yadav | Medium
February 8, 2025 - The float64 is a data type in NumPy that represents a 64-bit floating-point number. This means it uses 64 bits to store a floating-point number, allowing for more precision when performing calculations compared to smaller types like float32.
🌐
LabEx
labex.io › questions › what-is-float64-384834
What is `float64`? | LabEx
November 2, 2025 - `float64` is a data type in programming, particularly in languages like Go and Python, that represents a double-precision floating-point number.
🌐
Quora
quora.com › What-are-the-differences-between-float32-and-float64
What are the differences between float32 and float64? - Quora
float32 means a 32-bit single-precision floating-point format · float64 means a larger 64-bit double-precision floating-point format
🌐
Erights
erights.org › elang › scalars › float64-ref.html
Scalar Type: float64
Scalar Type: float64 · E's float64s are the subset of standard IEEE double precision floating point values specified by Java. This is identical to the IEEE standard except that there's only one (non-signalling) NaN value, and the only rounding mode supported is round-to-even.
🌐
W3Schools
w3schools.com › go › go_float_data_type.php
Go Float Data Types
The float64 data type can store a larger set of numbers than float32.
🌐
Datacadamia
datacadamia.com › data › type › number › computer › float64
Computer Number - Float64 (64-bit or double precision) floating-point number
August 30, 2024 - Float64 is a floating point number with a 64bit precision. Float64 is also known as: 64-bit floating-point values, double precision floating-point 64-bit IEEE-754 floating-point or justdoublintegefloat point
Find elsewhere
🌐
Reddit
reddit.com › r/golang › what the heck with float64?
r/golang on Reddit: What the heck with float64?
March 8, 2024 -

I know javascript has problems when number goes big, usual thing is that trailing digits will be truncated to zero. And I wonder what that looks like in golang, so I write a program:

see https://go.dev/play/p/2rbKFNiupQ_6

package main

import "fmt"

func main() {
    var v1 float64 = 1876219900889841660
    var v2 float64 = 1876219900889841661
    var v3 float64 = 1876219900889841662
    var v4 float64 = 1876219900889841663
    var v5 float64 = 1876219900889841664
    var v6 float64 = 1876219900889841665
    var v7 float64 = 1876219900889841666
    var v8 float64 = 1876219900889841667
    var v9 float64 = 1876219900889841668
    fmt.Printf("v1==v2: %v\n", v1 == v2)      // true
    fmt.Printf("v2==v3: %v\n", v2 == v3)      // true
    fmt.Printf("v3==v4: %v\n", v3 == v4)      // true
    fmt.Printf("v4==v5: %v\n", v4 == v5)      // true
    fmt.Printf("v5==v6: %v\n", v5 == v6)      // true
    fmt.Printf("v6==v7: %v\n", v6 == v7)      // true
    fmt.Printf("v7==v8: %v\n", v7 == v8)      // true
    fmt.Printf("v8==v9: %v\n", v8 == v9)      // true
    fmt.Printf("int64(v4): %d\n", int64(v4))  // 1876219900889841664
    fmt.Printf("int64(v9): %d\n", int64(v9))  // 1876219900889841664
    fmt.Printf("float64(v9): %.0f\n", v9)     // 1876219900889841664
}

Why all float64 numbers are printed as 1876219900889841664? In javascript this is 1876219900889841700. Anyone can give an explanation please? Thanks.

🌐
Educative
educative.io › answers › what-is-type-float64-in-golang
What is type float64 in Golang?
A variable of type float64 can store decimal numbers ranging from 2.2E-308 to 1.7E+308.
🌐
Swipe Insight
web.swipeinsight.app › posts › differences-between-float-float64-vs-numeric-data-types-in-bigquery-explained-6925
Differences Between FLOAT (FLOAT64) vs NUMERIC Data Types in BigQuery Explained | Swipe Insight
June 4, 2024 - FLOAT (FLOAT64) is a double-precision floating-point number that can express a large array of values, uses 8 logical bytes, and offers faster calculations but may yield rounding errors.
🌐
NumPy
numpy.org › doc › stable › user › basics.types.html
Data types — NumPy v2.4 Manual
There are 5 basic numerical types ... type. The bitsize is the number of bits that are needed to represent a single value in memory. For example, numpy.float64 is a 64 bit floating point data type....
🌐
ROS Answers
answers.ros.org › question › 205541 › what-is-float64
What is float64? - ROS Answers: Open Source Q&A Forum
March 21, 2015 - Comment by abcgarden on 2015-03-21: Thank you @Dan, @Thomas. Actually, these two answers combine to be the best answer. But in the std_msgs/Float64 there is one filed "float64 data". It seems that the initial float64 is defined elsewhere.
🌐
NumPy
numpy.org › doc › 2.3 › user › basics.types.html
Data types — NumPy v2.3 Manual
There are 5 basic numerical types ... type. The bitsize is the number of bits that are needed to represent a single value in memory. For example, numpy.float64 is a 64 bit floating point data type....
Top answer
1 of 2
69
>>> numpy.float64(5.9975).hex()
'0x1.7fd70a3d70a3dp+2'
>>> (5.9975).hex()
'0x1.7fd70a3d70a3dp+2'

They are the same number. What differs is the textual representation obtained via by their __repr__ method; the native Python type outputs the minimal digits needed to uniquely distinguish values, while NumPy code before version 1.14.0, released in 2018 didn't try to minimise the number of digits output.

2 of 2
3

Numpy float64 dtype inherits from Python float, which implements C double internally. You can verify that as follows:

isinstance(np.float64(5.9975), float)   # True

So even if their string representation is different, the values they store are the same.

On the other hand, np.float32 implements C float (which has no analog in pure Python) and no numpy int dtype (np.int32, np.int64 etc.) inherits from Python int because in Python 3 int is unbounded:

isinstance(np.float32(5.9975), float)   # False
isinstance(np.int32(1), int)            # False

So why define np.float64 at all?

np.float64 defines most of the attributes and methods in np.ndarray. From the following code, you can see that np.float64 implements all but 4 methods of np.array:

[m for m in set(dir(np.array([]))) - set(dir(np.float64())) if not m.startswith("_")]

# ['argpartition', 'ctypes', 'partition', 'dot']

So if you have a function that expects to use ndarray methods, you can pass np.float64 to it while float doesn't give you the same.

For example:

def my_cool_function(x):
    return x.sum()

my_cool_function(np.array([1.5, 2]))   # <--- OK
my_cool_function(np.float64(5.9975))   # <--- OK
my_cool_function(5.9975)               # <--- AttributeError
🌐
Rerun
rerun.io › docs › reference › types › datatypes › float64
Float64 — Rerun
float64 · 🌊 C++ API docs for Float64 · 🐍 Python API docs for Float64 · 🦀 Rust API docs for Float64 · LinearSpeed · Scalar · GitHub · Discord · LinkedIn · Twitter Privacy policy · Arrow datatype · API reference links ·