Dùng toán tử modulo % 1 để lấy phần thập phân. Lưu ý lỗi floating-point precision.
Ví dụ
<!DOCTYPE html>
<html>
<body>
<script>
var num1 = 5.3;
var num2 = 4.2;
var num3 = 8.6;
console.log(num1 % 1); // 0.2999999999999998
console.log(num2 % 1); // 0.20000000000000018
console.log(num3 % 1); // 0.5999999999999996
// Fix precision
function getDecimal(num) {
return Number((num % 1).toFixed(10)); // làm tròn 10 chữ số
}
console.log(getDecimal(5.3)); // 0.3
</script>
</body>
</html>
Cách khác: num - Math.trunc(num) (ES6) hoặc num - parseInt(num).