Các phương thức liên quan đến số giúp bạn dễ dàng xử lý các con số hơn.
Các thuộc tính và phương thức liên quan đến số
Các giá trị nguyên thuỷ (như 3,14159 hoặc 2016) không có thuộc tính và phương thức bởi vì nó không phải là đối tượng.
Nhưng với JavaScript, các phương thức và thuộc tính được cung cấp cho các giá trị nguyên thuỷ, bởi vì JavaScript xử lý các giá trị nguyên thuỷ như đối tượng khi thực thi phương thức và đối tượng.
Phương thức toString()
toString() trả về một số như là một chuỗi.
Tất cả phương thức liên quan đến số có thể sử dụng cho bất cứ kiểu số nào (số thuần tuý, các biến hoặc các biểu thức):
Ví dụ
var x = 123;
x.toString(); // trả về kết quả 123 từ biến x
(123).toString(); // trả về kết quả 123 từ số thuần tuý 123
(100 + 23).toString(); // trả về kết quả 123 từ biểu thức 100 + 23
Phương thức toExponential()
toExponential() trả về kết quả là một chuỗi, với một số được làm tròn và được viết dưới dạng sử dụng số mũ.
Một đối số định nghĩa số ký tự đằng sau dấu chấm thập phân:
Định nghĩa
var x = 9.656;
x.toExponential(2); // trả về 9.66e+0
x.toExponential(4); // trả về 9.6560e+0
x.toExponential(6); // trả về 9.656000e+0
Đối số là tuỳ 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()
toFixed() trả về kết quả là một chuỗi, nó rất giống với phép làm tròn, chỉ định một số cụ thể sau dấu chấm thập phân:
Ví dụ
var x = 9.656;
x.toFixed(0); // trả về kết quả 10
x.toFixed(2); // trả về kết quả 9.66
x.toFixed(4); // trả về kết quả 9.6560
x.toFixed(6); // trả về kết quả 9.656000
toFixed(2) rất hoàn hảo để làm việc với tiền tệ.
Phương thức toPrecision()
toPrecision() trả về một chuỗi, cũng khá giống với phép làm tròn nhưng lần này là chỉ định độ dài của chuỗi:
Ví dụ
var x = 9.656;
x.toPrecision(); // trả về kết quả 9.656
x.toPrecision(2); // trả về 9.7
x.toPrecision(4); // trả về 9.656
x.toPrecision(6); // trả về 9.65600
Phương thức valueOf()
valueOf() trả về một số như là một số (nghe lộn ruột nhỉ, nhưng các bạn sẽ hiểu ngay thôi).
Ví dụ
var x = 123;
x.valueOf(); // trả về kết quả 123 từ biến x
(123).valueOf(); // trả về kết quả 123 từ số thuần tuý 123
(100 + 23).valueOf(); // trả về kết quả 123 từ biểu thức 100 + 23
Trong JavaScript, một số có thể là giá trị nguyên thuỷ (typeof = number) hoặc một đối tượng (typeof = object).
Phương thức valueOf() được sử dụng nội bộ trong JavaScript để chuyển đối tượng số thành giá trị nguyên thuỷ.
Không có lý do để sử dụng nó trong mã của bạn.
Định dạng dữ liệu trong JavaScript có hai phương thức là valueOf() và toString().
Chuyển biến thành dạng số
Có 3 phương thức của JavaScript có thể sử dụng để chuyển đổi biến thành một số:
- Phương thức Number()
- Phương thức parseInt()
- Phương thức parseFloat()
Các phương thức này không phải là phương thức của số, nhưng nó là các phương thức toàn cục.
Các phương thức toàn cục
Các phương thức toàn cục trong JavaScript có thể sử dụng trên tất cả các dạng dữ liệu của JavaScript.
Dưới đây là các phương thức liên quan nhất khi làm việc với các con số:
Phương thức | Mô tả |
---|---|
Number() | Trả về một số, chuyển đổi từ đối số của nó. |
parseFloat() | Phân tích đối số và trả về một số thực |
parseInt() | Phân tích đối số và trả về một số nguyên |
Phương thức Number()
Number() có thể được sử dụng để chuyển đổi biến trong JavaScript thành các con số:
Ví dụ
x = true;
Number(x); // trả về kết quả 1
x = false;
Number(x); // trả về kết quả 0
x = new Date();
Number(x); // trả về kết quả 1404568027739
x = "10"
Number(x); // trả về kết quả 10
x = "10 20"
Number(x); // trả về kết quả NaN
Khi sử dụng Date(), phương thức Number() trả về con số tính theo mili giây kể từ ngày 1.1.1970
Phương thức parseInt()
parseInt() phân tích một chuỗi và trả về một số nguyên. Khoảng trống được phép. Chỉ số đầu tiên được trả về:
Ví dụ
parseInt("10"); // trả về 10
parseInt("10.33"); // trả về 10
parseInt("10 20 30"); // trả về 10
parseInt("10 years"); // trả về 10
parseInt("cuối năm lớp 10"); // trả về NaN
Nếu một số không thể chuyển đổi, NaN (Không phải là số – Not a Number) sẽ được trả về.
Phương thức parseFloat()
parseFloat() phân tích một chuỗi và trả về một số. Khoảng trống là cho phép. Chỉ số đầu tiên được trả về.
Vsi dụ
parseFloat("10"); // trả về 10
parseFloat("10.33"); // trả về 10.33
parseFloat("10 20 30"); // trả về 10
parseFloat("10 years"); // trả về 10
parseFloat("cuối năm lớp 10"); // trả về NaN
Nếu số không thể chuyển đổi, NaN sẽ được trả về.
Các thuộc tính liên quan đến số
Thuộc tính | Mô tả |
---|---|
MAX_VALUE | Trả về số lớn nhất có thể trong JavaScript |
MIN_VALUE | Trả về số nhỏ nhất có thể trong JavaScript |
NEGATIVE_INFINITY | Đại diện cho âm vô cực |
NaN | Đại diện cho giá trị “Không-phải-là-số” |
POSITIVE_INFINITY | Đại diện cho dương vô cực |
Ví dụ
var x = Number.MAX_VALUE;
Các thuộc tính số thuộc về đối tượng số của JavaScript gọi là Số.
Các thuộc tính này có thể được truy cập như Number.MAX_VALUE.
Sử dụng myNumber.MAX_VALUE, mà myNumber là một biến, biểu thức hoặc giá trị, sẽ trả về kết quả không được định nghĩa:
Ví dụ
var x = 6;
var y = x.MAX_VALUE; // y trở thành undefined (không định nghĩa)