使用 JavaScript 获取数字的小数部分

我有像 和 这样的浮点数。3.21.6

我需要将数字分成整数和小数部分。例如,的值将被拆分为两个数字,即 和3.230.2

获取整数部分很容易:

n = Math.floor(n);

但是我很难获得小数部分。我试过这个:

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

但它并不总是正常工作。

上面的代码具有以下输出:

n = 3.1 // gives remainder = 1.1

我在这里错过了什么?


答案 1

使用 ,而不是 。12

js> 2.3 % 1
0.2999999999999998

答案 2
var decimal = n - Math.floor(n)

虽然这不适用于负数,所以我们可能不得不这样做

n = Math.abs(n); // Change to positive
var decimal = n - Math.floor(n)