You Assumed

Reference path · conclusion first

Why Does 0.1 + 0.2 Not Equal Exactly 0.3?

0.1 + 0.2 is not exactly 0.3 in JavaScript Number.

Precise claimNo finite base-10 decimal equals exactly 1/3. In JavaScript Number, binary64 also approximates decimal literals, so 0.1 + 0.2 evaluates to 0.30000000000000004 rather than exactly 0.3.

Applies

The first claim is about finite base-10 notation; the later live result applies to JavaScript Number and equivalent IEEE 754 binary64 arithmetic.

Does not prove

This does not mean floating point is unusable. A fixed epsilon is not a universal remedy; financial systems may require integer minor units or decimal arithmetic, while exact integer counts can use strict equality.

Portable rule

If a computed value is approximate, then choose a comparison contract that matches its domain — a bounded tolerance, decimal arithmetic, or an exact integer representation.

Evidence reviewed 2026-07-20. Corrections and review policy.

Use as a reference

Declare the discussion context, then copy a stable link. No account or personal data is attached.

Why Does 0.1 + 0.2 Not Equal Exactly 0.3?

Before we blame a programming language, make a smaller prediction: can any finite decimal ever equal exactly 1/3? Commit to a model first; the page will let you test it afterward.

Your system has reduced motion on, so the unlock fades are off. Nothing on this page depends on motion: every number is still computed live by your browser the moment you commit.

Interactive

First claim under judgment

Can a finite decimal equal exactly 1/3?
Can any finite decimal equal exactly 1/3?

Take it into the discussion

Need the conclusion, boundary and sources without the challenge?

Open the same page in its conclusion-first reading state, then declare the work context before copying a stable reference.

Use as a reference →