Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài 26: Số và các hàm xử lý số trong javascript

Ở bài trước chúng ta đã được tìm hiểu về chuỗi và các hàm xử lý chuỗi trong javascript rồi. Bài này chúng ta sẽ tiếp tục tìm hiểu về một thứ cũng không thể thiếu trong các trang web, đó là các con số và các hàm xử lý số trong javascript.

1, Khai báo số trong javascript.

-Mặc dù khai báo sỗ trong javascript chúng ta đã được tìm hiểu rồi, nhưng bài này mình vẫn nhắc lại cách khai báo số trong javascript(cho chắc). Để khai báo số trong javascript chúng ta sử dụng cú pháp:

var name = value;
//hoặc
var name = new Number(value);

Trong đó:

  • name là tên của biến số các bạn muốn đặt, nhưng phải thỏa mãn các quy tắc đặt tên (xem quy tắc).
  • value là giá trị của biến số đó. Nó có thể là số nguyên, số thực, hệ số mũ, hay là dạng nhị phân,thập phân và thập lục phân.

VD: Khai báo biến số theo các dạng.

//Khai báo biến số dạng số nguyên
var a = 5;
//Khai báo biến số dạng số thực
var b = 5.5;
//Khai báo biến số dạng số mũ
var c = 1e5 // 100000
//Khai báo biến số dạng bát phân
var d = 0123 //83
//Khai báo biến số dạng thập lục phân
var e = 0x1A; //26
//Khai báo biến số dạng nhị phân
var f = 0b11111111; //255

2, Các hàm xử lý số.

toString()

-Hàm này giúp chúng ta chuyển đổi số sang chuỗi.

Cú Pháp:

number.toString(type);

Trong đó:

  • number la số chúng ta muốn chuyển đổi.
  • type là một trong các kiểu số mà chúng ta muốn chuyển đổi sang. Với các giá trị sau:
    • 2 - Hệ nhị phân.
    • 8 - Hệ bát phân.
    • 10 - Hệ thập phân.
    • 16 - Hệ thập lục phân.

Chú ý: Nếu không truyền type vào trong hàm toString thì mặc định nó sẽ chuyển số về dạng thập phân.

VD:

var a = 125;
//Chuyển về dạng nhị phân
a.toString(2) //01111101
//Chuyển về dạng bát phân
a.toString(8) //175
//Chuyển về dạng thập phân
a.toString(10) //125
//Chuyển về dạng thập lục phân
a.toString(16) //7D
    

Infinity

-Trước hết mình muốn nói đây không phải là một hàm.Ở đây Infinity là một keyword trong javascript, mà nếu như một biến mà có giá trị bằng Infinity thì tức là biến đó có giá nằm quá phạm vi cho phép của javascript hoặc biến đó không xác định được (VD: 2 / 0).

Chú ý: Viết hoa chữ cái đầu 'Indinity'.

Chúng ta cùng xem ví dụ sau:

var a = 9999;
var data = '';
while(a != Infinity){
    a = a*a;
    data += a + '
';
}
document.getElementById('result').innerHTML = data;

Xem Kết Quả

-Như các bạn đã thấy thì sau 7 vòng lặp, khi con số trở lên quá lớn và nằm ngoài phạm vi lưu trữ của javascript thì ngay lập tức biến số đã truyển về giá trị Infinity.

isNaN()

-Hàm này có tác dụng kiểm tra một thành phần có phải là biến hay không. Nó sẽ trả về true nếu thành phần đó không phải là số và ngược lại trả về false nếu là số.

Cú pháp:

isNaN(variable);

Trong đó: variable là thành phần cần kiểm tra.

VD:

var a = 5;
isNaN(a); //false
var b = 5 / 'm';
isNaN(b) //true
var c = 'toidicode.com';
isNaN(c)//true

toExponential()

-Hàm này trả về chuỗi, với chuỗi được tạo là dạng số mũ và làm tròn của số.

Cú Pháp:

number.toExponential(n);

Trong đó:

  • number là số chúng ta cần chuyển đổi.
  • n là số phần tử các bạn muốn làm tròn sau dấu .

VD:

var x = 2.5965;
x.toExponential(2);     // 2.60e+0
x.toExponential(4);     // 2.5965e+0
x.toExponential(5);     // 2.59650e+0

toFixed()

-Hàm này có tác dụng làm tròn số đến n phần tử sau dấu .

Cú Pháp:

number.toFixed(n);

Trong đó:

  • number là số chúng ta cần chuyển đổi.
  • n là số phần tử các bạn muốn làm tròn sau dấu .

VD:

var a = 5.989;
a.toFixed(2) //5.99
a.toFixed(6) //5.989000

toPrecision()

-Hàm này có tác dụng chuyển đổi số về một số có độ dài xác định.

Cú Pháp:

number.toPrecision(n);

Trong đó:

  • number là số chúng ta cần chuyển đổi.
  • n là độ dài của số các bạn cần chuyển đổi.

VD:

var x = 5.5656;
x.toPrecision();        // 5.5656
x.toPrecision(2);       // 5.6
x.toPrecision(1);       // 6
x.toPrecision(3);       // 5.57

valueOf()

-Hàm này trả về một số của một số. Và nó sinh ra với một ý nghĩa là làm tốn bộ nhớ :D.

Cú Pháp:

number.valueOf();

VD:

var a = 125;
a.valueOf(); //125
var b = 125 + 5;
b.valueOf(); //130

Qua ví dụ trên các bạn có cảm thấy khả năng vô dụn của nó không :D.

Number()

-Hàm này có tác dụng chuyển tất cả các kiểu dữ liệu sang kiểu số, nếu như có trường hợp nào không chuyển được thì nó sẽ thành NaN.

Cú Pháp:

Number(x);

Trong đó:  x là số mà chúng ta muốn chuyển đổi.

VD:

var a = true;
Number(a) // 1
var b = false;
Number(b) // 0
var c = new Date();
Number(c) // 1491817008635
var d = "12";
Number(d) // 12
var e = "12 20";
Number(e) // NaN

parseInt()

-Hàm này có tác dụng chuyển một chuỗi sang dạng số nguyên. Nhưng nếu chuỗi cần chuyển có ký tự đầu tiên là chuỗi thì nó sẽ không chuyển được, còn ký tự đầu tiên là số thì vẫn chuyển được.

Cú Pháp:

parseInt(x);

Trong đó x là thành phần mà các bạn muốn chuyển.

VD:

parseInt(true) //NaN
parseInt(flase)//NaN
parseFloat("12.33")//12
parseInt("15")//15
parseInt("5 10 15 20")//5
parseInt('23 năm')//23
parseInt('năm 2017')//NaN

parseFloat()

-Hàm này có tác dụng chuyển đổi chuỗi về dạng số thực. Và nó cũng tương tự như parseInt() nếu chuỗi cần chuyển có ký tự đầu tiên là chuỗi thì nó sẽ không chuyển được, còn ký tự đầu tiên là số thì vẫn chuyển được.

Cú Pháp:

parseFloat(x);

Trong đó x là thành phần mà các bạn muốn chuyển.

VD:

parseFloat(true) //NaN
parseFloat(flase)//NaN
parseFloat("12.33")//12.33
parseFloat("15")//15
parseFloat("5 10 15 20")//5
parseFloat('23 năm')//23
parseFloat('năm 2017')//NaN

3, Lời Kết.

-Như vậy mình đã giới thiệu xong đến mọi người về number trong javascript rồi. Các bạn chú ý phần này để hạn chế được các sai sót trong quá trình xây dựng dự án.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

2 Comments

var x = 5.5656;

x.toPrecision(3); // 5.57 not 5.7

Thắng

5 năm trước

hay dẽ hiểu

trungtin

2 năm trước

Bình luận

Captcha