Kiểm tra số nguyên trong JavaScript | Laptrinhcanban.com

HOME › >>

Kiểm tra số nguyên trong JavaScript

Hướng dẫn cách kiểm tra số nguyên trong JavaScript. Bạn sẽ học được 3 cách cơ bản để kiểm tra số nguyên trong JavaScript cũng như cách liệt kê và tính tổng tất cả các số nguyên bằng JavaScript sau bài học này.

Chúng ta có 3 phương pháp để kiểm tra số nguyên trong JavaScript như sau:

  • Kiểm tra số nguyên trong JavaScript bằng Number.isInteger
  • Kiểm tra số nguyên trong JavaScript bằng Number.isSafeInteger
  • Kiểm tra số nguyên trong JavaScript bằng hàm tự tạo

Số nguyên số thực trong JavaScript là gì

Trong ngôn ngữ JavaScript, khái niệm số nguyên và số thực cũng giống với khái niệm mà chúng ta hay dùng.

Số nguyên bao gồm các số tự nhiên (1,2,3…), số âm (-1,-2,-3…) và số 0.
Những con số thông thường mà chúng ta thường sử dụng được gọi là số nguyên.

Số thực là một số nguyên cộng với một giá trị thập phân. Ví dụ, các số như 1.0, 5.2, -9.687, 3.14159,… chẳng hạn. Số thực cũng bao gồm số nguyên trong nó.
Tóm lại, các số bao gồm cả phần thập phân được gọi là số thực.

Số nguyên trong JavaScript có thể biểu diễn bởi giá trị chính xác của nó, trong khi số thực trong JavaScript lại được biểu diễn dưới dạng dấu phẩy động, điều đó có nghĩa là số thực không thể biểu diễn bởi giá trị chính xác, mà chúng ta có thể làm tròn lên hoặc làm tròn xuống số chữ cái sau phần thập phân để biểu diễn nó với các giá trị khác nhau.

Kiểm tra số nguyên trong JavaScript bằng Number.isInteger

isInteger là một phương thức trong Number Object, có tác dụng kiểm tra một đối tượng có phải là số nguyên hay không.

Cách sử dụng isInteger trong JavaScript như sau:

Number.isInteger(num);

Trong đó num là đối tượng cần kiểm tra có phải là số nguyên hay không. Nếu đối tượng đó là số nguyên thì giá trị true được trả về, và trả về false trong các trường hợp còn lại.

Ví dụ cụ thể:

console.log(Number.isInteger(12.3456));
//false

console.log(Number.isInteger(12));
//true

console.log(Number.isInteger(1.6e-2));
//false

Nếu đối tượng chỉ định không thuộc kiểu số, ngay lập tức giá trị false sẽ được trả về:

Number.isInteger('78');      // false

Number.isInteger(true); // false

Number.isInteger("abcd") // false

Number.isInteger(undefined); // false

Number.isInteger([10]); // false

Number.isInteger(NaN); // false

Number.isInteger(Infinity); // false

Kiểm tra số nguyên trong JavaScript bằng Number.isSafeInteger

isSafeInteger là một phương thức trong Number Object, có tác dụng kiểm tra một đối tượng có phải là số nguyên an toàn hay không.

Số nguyên an toàn trong JavaScript là một khái niệm chỉ các số nguyên thỏa mãn 2 điều kiện sau đây:

  1. Được biểu thị chính xác dưới dạng số chính xác kép IEEE-754
  2. Giá trị biểu diễn dưới dạng IEEE-754 này là duy nhât và không trùng khớp với bất kỳ giá trị của các số nguyên khác cùng được biểu thị dưới dạng số chính xác kép IEEE-754.

Cụ thể thì các số nguyên nằm trong phạm vi từ -(253 - 1) đến 253 - 1, tức là từ -9007199254740991 đến 9007199254740991 sẽ được coi là số nguyên an toàn trong JavaScript.

Cách sử dụng isSafeInteger trong JavaScript để kiểm tra một đối tượng có phải số nguyên an toàn hay không như sau:

Number.isSafeInteger(num);

Trong đó num là đối tượng cần kiểm tra có phải là số nguyên an toàn hay không. Nếu đối tượng đó là số nguyên an toàn thì giá trị true được trả về, và trả về false trong các trường hợp còn lại.

Ví dụ cụ thể:

Number.isSafeInteger(87462);
// true

Number.isSafeInteger(-665212234);
// false

Number.isSafeInteger(Math.pow(2, 53) - 1);
// true

Number.isSafeInteger(Math.pow(2, 53));
// false

Nếu đối tượng chỉ định không thuộc kiểu số, ngay lập tức giá trị false sẽ được trả về:

Number.isSafeInteger('78');      // false

Number.isSafeInteger(true); // false

Number.isSafeInteger("abcd") // false

Number.isSafeInteger(undefined); // false

Number.isSafeInteger([10]); // false

Number.isSafeInteger(NaN); // false

Number.isSafeInteger(Infinity); // false

Kiểm tra số nguyên trong JavaScript bằng hàm tự tạo

Số nguyên trong JavaScript có khả năng biểu diễn bởi giá trị chính xác của nó, trong khi số thực thì có thể làm tròn lên hoặc làm tròn xuống thành các giá trị khác nhau.

Bằng cách sử dụng tính chất này, chúng ta có thể so sánh hai giá trị làm tròn lênlàm tròn xuống của số đã cho, và nếu hai giá trị này giống nhau thì số đã cho chính là một số nguyên.

Chúng ta cần sử dụng tới hai thuộc tính trong Math Object là Math.ceil() để làm tròn lên, và Math.floor để làm tròn xuống giá trị một số trong JavaScript.

Và chúng ta có thể tạo hàm kiểm tra số nguyên trong JavaScript như sau:

function check_real_leteger_number( n){
//flag = 1 => số nguyên
//flag = 0 => số thực

let flag = 1;
if (Math.ceil(n) != Math.floor(n)) flag = 0;
return flag;
}

Chúng ta có thể gọi hàm này và sử dụng trong chương trình nhập n kiểm tra n có phải số nguyên không trong JavaScript như sau:

function check_real_leteger_number( n){
//flag = 1 => là số nguyên
//flag = 0 => số thực

let flag = 1;
if (Math.ceil(n) != Math.floor(n)) flag = 0;
return flag;
}

let n= prompt("Nhap so= ");

let check = check_real_leteger_number(n);

if( check == 1 ) console.log(n + " la so nguyen");
else console.log(n + " khong phai la so nguyen");

Màn hình nhập liệu và kết quả kiểm tra số thực số nguyên sẽ như sau:

Nhap so= 6
So vua nhap la so nguyen

Nhap so= 6.1
So vua nhap la so thuc

Nhap so= 0
So vua nhap la so nguyen

Liệt kê và tính tổng tất cả các số nguyên

Sử dụng phương pháp ở trên, chúng ta có thể liệt kê và tính tổng tất cả các số nguyên bằng JavaScript.

Và dưới đây là ví dụ về chương trình liệt kê và tính tổng tất cả các số nguyên trong JavaScript:

function check_real_leteger_number(n){
//flag = 1 => là số nguyên
//flag = 0 => không phải là số nguyên

let flag = 1;
if (Math.ceil(n) != Math.floor(n)) flag = 0;
return flag;
}


let array = [5, 4.1, 7.2, 2, 8.9, 7, 3];
let i = 0, check=0,total=0;

for(let i = 0; i < array.length; i++){
check = check_real_leteger_number(array[i]);
if( check == 1 ) {
console.log(array[i]+" ");
total+=array[i];
}
}
console.log("Tong cac so nguyen trong mang: "+total);

Kết quả:

5 
2
7
3
Tong cac so nguyen trong mang: 17

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách kiểm tra số nguyên trong JavaScript cũng như cách liệt kê và tính tổng tất cả các số nguyên bằng JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/so-trong-javascript/kiem-tra-so-nguyen-so-thuc-trong-javascript/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.