Get decimal portion of a number with JavaScript

Oscar picture Oscar · Dec 22, 2010 · Viewed 289.2k times · Source

I have float numbers like 3.2 and 1.6.

I need to separate the number into the integer and decimal part. For example, a value of 3.2 would be split into two numbers, i.e. 3 and 0.2

Getting the integer portion is easy:

n = Math.floor(n);

But I am having trouble getting the decimal portion. I have tried this:

remainer = n % 2; //obtem a parte decimal do rating

But it does not always work correctly.

The previous code has the following output:

n = 3.1 => remainer = 1.1

What I am missing here?

Answer

Ignacio Vazquez-Abrams picture Ignacio Vazquez-Abrams · Dec 22, 2010

Use 1, not 2.

js> 2.3 % 1
0.2999999999999998