Sunday, September 29, 2024

[Javascript] – Phần 23: JavaScript Number Methods

-

Đây là một số phương thức có sẵn cho đối tượng số trong JavaScript:

Phương thức toString()

Phương thức toString() trả về một số dưới dạng chuỗi.

Tất cả các phương thức số có thể được sử dụng và sử dụng được cho literal, biến hoặc biểu thức:

let x = 123;
x.toString();         // "123"
(123).toString();     // "123"
(100 + 23).toString(); // "123"

Phương thức toExponential()

Phương thức toExponential() trả về một chuỗi với một số được làm tròn và viết bằng cách sử dụng ký hiệu mũ.

Tham số xác định số ký tự sau dấu thập phân:

let x = 9.656;
x.toExponential(2); // "9.66e+0"
x.toExponential(4); // "9.6560e+0"
x.toExponential(6); // "9.656000e+0"

Tham số là tùy chọn. Nếu bạn không chỉ định nó, JavaScript sẽ không làm tròn số.

Phương thức toFixed()

Phương thức toFixed() trả về một chuỗi với số được viết với một số chữ số thập phân xác định:

let x = 9.656;
x.toFixed(0); // "10"
x.toFixed(2); // "9.66"
x.toFixed(4); // "9.6560"
x.toFixed(6); // "9.656000"

Phương thức toFixed(2) là lựa chọn tốt cho việc làm việc với tiền tệ.

Phương thức toPrecision()

Phương thức toPrecision() trả về một chuỗi, với số được viết với một chiều dài xác định:

let x = 9.656;
x.toPrecision();  // "9.656"
x.toPrecision(2); // "9.7"
x.toPrecision(4); // "9.656"
x.toPrecision(6); // "9.65600"

Phương thức valueOf()

Trong JavaScript, một số có thể là giá trị truyền vào thủ công (typeof = number) hoặc một đối tượng (typeof = object).

Phương thức valueOf() có tác dụng để chuyển đổi các đối tượng Number thành giá trị truyền vào thủ công.

let x = 123;
x.valueOf();         // 123
(123).valueOf();     // 123
(100 + 23).valueOf(); // 123

Tất cả các loại dữ liệu JavaScript đều có phương thức valueOf() và toString().

Chuyển đổi Biến thành Số

Trong JavaScript, có 3 phương thức có thể được sử dụng để chuyển đổi một biến thành số:

Number(): Trả về một số được chuyển đổi từ đối số của nó.

Number(true);    // 1
Number(false);   // 0
Number("10");    // 10
Number("  10");  // 10
Number("10  ");  // 10
Number(" 10  "); // 10
Number("10.33"); // 10.33
Number("10,33"); // NaN
Number("10 33"); // NaN
Number("John");  // NaN

Nếu số không thể được chuyển đổi, kết quả là NaN (Not a Number).

parseFloat(): Phân tích cú pháp đối số của nó và trả về một số thực.

parseFloat("10");       // 10
parseFloat("10.33");    // 10.33
parseFloat("10 20 30");  // 10
parseFloat("10 years");  // 10
parseFloat("years 10");  // NaN

Nếu số không thể được chuyển đổi, kết quả là NaN.

parseInt(): Phân tích cú pháp đối số của nó và trả về một số nguyên.

parseInt("-10");       // -10
parseInt("-10.33");    // -10
parseInt("10");        // 10
parseInt("10.33");     // 10
parseInt("10 20 30");   // 10
parseInt("10 years");   // 10
parseInt("years 10");   // NaN

Nếu số không thể được chuyển đổi, kết quả là NaN.

Lưu ý: Cả ba phương thức trên không thuộc về đối tượng số JavaScript. Chúng là các phương thức JavaScript toàn cục.

Phương thức Number.isInteger()

Phương thức Number.isInteger() trả về true nếu đối số là một số nguyên.

Number.isInteger(10);    // true
Number.isInteger(10.5);  // false

Phương thức Number.isSafeInteger()

Số nguyên an toàn là số nguyên có thể biểu diễn chính xác dưới dạng số thực với độ chính xác kép.

Phương thức Number.isSafeInteger() trả về true nếu đối số là số nguyên an toàn.

Number.isSafeInteger(10);                  // true
Number.isSafeInteger(12345678901234567890); // false

Số nguyên an toàn bao gồm tất cả các số nguyên từ -(2^53 – 1) đến +(2^53 – 1). Ví dụ: 9007199254740991 là an toàn, nhưng 9007199254740992 không an toàn.

Phương thức Number.parseFloat() và Number.parseInt()

Cả hai phương thức này giống như các phương thức toàn cục parseFloat()parseInt().

Lưu ý cuối cùng:

Các phương thức của đối tượng Number chỉ có thể được truy cập như Number.isInteger(). Sử dụng X.isInteger() nơi X là một biến sẽ dẫn đến lỗi:

TypeError: X.isInteger is not a function.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories