DEV Community

Cover image for JavaScript Interview Question #32: 0.1 + 0.1 + 0.1 === 0.3
Coderslang: Become a Software Engineer
Coderslang: Become a Software Engineer

Posted on • Originally published at learn.coderslang.com on

JavaScript Interview Question #32: 0.1 + 0.1 + 0.1 === 0.3

js-test-32

What will be logged to the console?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

At a first glance, the answer is true as 0.1 + 0.1 + 0.1 is obviously equal to 0.3 .

But thatโ€™s only before we get into the details of how the numbers are represented in JavaScript.

If you try to execute the statement console.log(0.1 + 0.2) in JS, youโ€™ll get a number 0.30000000000000004.

This happens because in JavaScript and quite a few other programming languages some decimal numbers can't be represented exactly as they are.

For example 0.1 in binary will result in an endless fraction, the same way as 1/3 becomes 0.333(3) in the decimal number system.


ANSWER: false will be logged to the console.

Learn Full-Stack JavaScript

Latest comments (4)

Collapse
 
gyandeeps profile image
Gyandeep Singh

It even gets more interesting with subtraction.
0.3 - 0.1 = 0.19999999999999998

Collapse
 
coderslang profile image
Coderslang: Become a Software Engineer

Absolutely! And the reason is the same.

Collapse
 
lexplt profile image
Alexandre Plt

Same should also happen in many languages implementing the IEEE 754, great question!

Collapse
 
coderslang profile image
Coderslang: Become a Software Engineer

๐Ÿ™