Tuesday, October 5, 2021

Number JavaScript - Lập trình JavaScript

 

Number JavaScript - Lập trình JavaScript

Số là kiểu dữ liệu nguyên thủy được sử dụng cho các giá trị số nguyên dương hoặc âm, số thực, số nhị phân, số bát phân, hệ thập lục phân và số mũ trong JavaScript.

Number trong JavaScript là định dạng nhị phân 64 bit chính xác kép giống như kép trong C # và Java. Nó tuân theo tiêu chuẩn IEEE 754 quốc tế.

Number JavaScript

Ký tự đầu tiên trong một kiểu số phải là một giá trị số nguyên và nó không được đặt trong dấu ngoặc kép. Ví dụ sau cho thấy các biến có các loại số khác nhau trong JavaScript.

var num1 = 100; // integer

var num2 = -100; //negative integer

var num3 = 10.52; // float

var num4 = -10.52; //negative float

var num5 = 0xfff; // hexadecimal

var num6 = 256e-5; // exponential

var num7 = 030; // octal

var num8 = 0b0010001; // binary

Integer

Các số có thể là số nguyên dương hoặc số nguyên âm. Tuy nhiên, số nguyên là giá trị dấu phẩy động trong JavaScript. Giá trị số nguyên sẽ chính xác đến 15 chữ số trong JavaScript. Các số nguyên có 16 chữ số trở đi sẽ được thay đổi và làm tròn lên hoặc xuống; do đó, hãy sử dụng BigInt cho các số nguyên lớn hơn 15 chữ số.

//16 digit integer

var int1 = 1234567890123456; //accurate

//17 digit integer

var int2 = 12345678901234569; //will be 12345678901234568 

//16 digit integer

var int3 = 9999999999999998; //will be 9999999999999998 

//16 digit integer, last digit 9

var int4 = 9999999999999999; //will be 10000000000000000 

BigInt

Kiểu BigInt là kiểu nguyên thủy số có thể lưu trữ các số nguyên với độ chính xác tùy ý. Sử dụng BigInt cho các số nguyên lớn có hơn 15 chữ số. Nối n vào cuối một số nguyên để biến nó thành BigInt.

//16 digit integer

var int1 = 1234567890123459n; //will be 1234567890123459

//17 digit integer

var int2 = 12345678901234569n; //will be 12345678901234569

//20 digit integer

var int3 = 9999999999999999999n; //will be 9999999999999999999

Số dấu phẩy động

Các số dấu phẩy động trong JavaScript chỉ có thể giữ độ chính xác 17 chữ số thập phân; ngoài ra, giá trị sẽ bị thay đổi.

//17 decimal places

var f1 = 123456789012345.9; //accurate 

//18 decimal places

var f2 = 1234567890123456.9; //will be 1234567890123457 

//19 decimal places

var f3 = 1234567890123456.79; //will be 1234567890123456.8 

Các phép toán số học trên số dấu phẩy động trong JavaScript không phải lúc nào cũng chính xác. Ví dụ:

var f1 = 5.1 + 5.2; //will be 10.3

var f2 = 10.1 + 10.2; //will be 20.299999999999997 

var f3 = (10.1*100 + 10.2*100)/100; //instead of 10.1 + 10.2

Phép toán số học (trừ phép cộng) của chuỗi số sẽ cho kết quả là một số, như hình dưới đây.

var numStr1 = "5", numStr2 = "4";

var multiplication = numStr1 * numStr2; //returns20 

var division = numStr1 / numStr2; //returns 1.25 

var modulus = numStr1 % numStr2; //returns 1 

Ngay cả khi một trong các giá trị là số, kết quả sẽ giống nhau.

var num = 5, str = "4";

var multiplication = num * str; //returns 20 

var division = num / str; //returns 1.25 

var modulus = num % str; //returns 1

Toán tử + nối nếu bất kỳ giá trị nào là chuỗi ký tự.

var num = 5, str = "4";

var result = num + str; //returns "54" 

Nhị phân, bát phân, thập lục phân, số mũ

Các số nhị phân phải bắt đầu bằng 0b hoặc 0B, sau đó là 0 hoặc 1.

Các số bát phân phải bắt đầu bằng số 0 và chữ cái viết thường hoặc viết hoa 'O', 0o hoặc 0O.

Các số thập lục phân phải bắt đầu bằng số 0 và chữ cái viết thường hoặc viết hoa 'X', 0x hoặc 0X.

Các số mũ phải tuân theo định dạng beN trong đó b là số nguyên cơ sở hoặc số thực theo sau là e char và N là số lũy thừa.

var b = 0b100; // binary

var oct = 0o544; // octal

var hex = 0x123456789ABCDEF; // hexadecimal

var exp = 256e-5; // exponential

Hàm Number () trong JavaScript

Number () là một hàm khởi tạo trong JavaScript có chức năng chuyển đổi các giá trị của các kiểu khác thành số.

var i = Number('100');

var f = Number('10.5');            

var b = Number('0b100');

typeof(i); // returns number

typeof(f); // returns number

typeof(b); // returns number

Bằng cách sử dụng toán tử mới với hàm Number () sẽ trả về một đối tượng chứa các hằng số và phương thức để làm việc với các số.

var i = new Number('100');

var f = new Number('10.5');            

var b = new Number('0b100');

typeof(i); // returns object

typeof(f); // returns object

typeof(b); // returns object

So sánh các số

Hãy cẩn thận khi so sánh các số bằng toán tử == hoặc ===. Toán tử == so sánh các tham chiếu đối tượng chứ không phải các giá trị trong khi toán tử === so sánh các giá trị. Ví dụ sau đây so sánh các số được tạo bởi các cách khác nhau.

var num1 = new Number(100);

var num2 = Number('100');

var num3 = 100;

num1 == num2; // true 

num1 === num2; // false

num2 == num3;//true

num2 === num3; // true

num1 == num3;//true

num1 === num3;//false

Thuộc tính số

Kiểu Số bao gồm một số thuộc tính mặc định. JavaScript xử lý các giá trị nguyên thủy như các đối tượng, vì vậy tất cả các thuộc tính và phương thức đều có thể áp dụng cho cả số theo nghĩa đen và đối tượng số.

Bảng sau liệt kê tất cả các thuộc tính của kiểu Số

Number.MAX_VALUE; //1.7976931348623157e+308  

Number.MIN_VALUE; //5e-324 

Number.NEGATIVE_INFINITY; //-Infinity 

Number.POSITIVE_INFINITY; //Infinity 

Number.NaN;//NaN 

Number Methods

Bảng sau liệt kê tất cả các phương thức của Kiểu số

toExponential(fractionDigits) : Trả về giá trị hàm mũ dưới dạng một chuỗi.

var num = 100; Num.toExponential(2); // returns '1.00e+2'

toFixed(fractionDigits)

Trả về chuỗi giá trị thập phân của một số dựa trên fractionDigits được chỉ định.

Example:

var num = 100; Num.toFixed(2); // returns '100.00'

toLocaleString()

Trả về một số dưới dạng giá trị chuỗi theo cài đặt ngôn ngữ của trình duyệt.

Example:

var num = 100; Num.toLocaleString(); // returns '100'

toPrecision(precisionNumber)

Trả về số dưới dạng một chuỗi với tổng các chữ số được chỉ định.

Example:

var num = 100; Num.toPrecision(4); // returns '100.0'

Nguồn: Lập trình javaScript 

No comments:

Post a Comment