1. Phương thức và thuộc tính số trong JavaScript

Trong JavaScript, các số nguyên thủy (ví dụ như: 5, 13, -6, 0, ….) không phải là đối tượng. Tuy nhiên chúng vẫn có một số phương thức, với việc truy cập vào các phương thức đó. Ta có thể làm được một số công việc với các con số, ví dụ như: làm tròn số, chuyển số về dạng chuỗi, ….

Một số phương thức chính để xử lý số như:

  • toString() : chuyển một giá trị về dạng chuỗi ký tự
  • toExponential() : trả về chuỗi biểu thức mũ của một số
  • toFixed() : làm tròn một số đến phần thập phân xác định

Ngoài ra, trong JavaScript có thêm ba phương thức toàn cầu dùng để xử lý số:

  • Number() : phân tích một giá trị để trả về một số tương ứng
  • parseInt() : phân tích một chuỗi để trả về một số nguyên tương ứng
  • parseFloat() : phân tích một chuỗi để trả về một số thực tương ứng

2. Phương thức toString() trong JavaScript

Phương thức toString() dùng để chuyển một giá trị về dạng chuỗi ký tự.

Ví dụ:

var a = 1993;
var b = a.toString();
document.write(a + " có kiểu dữ liệu là: " + typeof a);
document.write("<hr>");
document.write(b + " có kiểu dữ liệu là: " + typeof b);

Tất cả các phương pháp số có thể được sử dụng trên bất kỳ loại số nào (chữ, biến hoặc biểu thức):

<p id="demo"></p>

<script>
let x = 123;
document.getElementById("demo").innerHTML =
  x.toString() + "<br>" +
   (123).toString() + "<br>" +
   (100 + 23).toString();
</script>

Ta có thể thêm một đối số tùy chọn cho phương thức toString() để xác định giá trị trả về, ví dụ:

  • Nếu đối số là 2 thì giá trị ban đầu sẽ được trả về chuỗi giá trị nhị phân.
  • Nếu đối số là 8 thì giá trị ban đầu sẽ được trả về chuỗi giá trị bát phân.
  • Nếu đối số là 16 thì giá trị ban đầu sẽ được trả về chuỗi giá trị thập lục phân
var a = 1993;
        var b = a.toString(2);
        var c = a.toString(8);
        var d = a.toString(16);

        document.write(b + "<br>");
        document.write(c + "<br>");
        document.write(d + "<br>");

3. Phương thức toExponential() trong JavaScript

Phương thức toExponential() dùng để trả về chuỗi biểu thức mũ của một số(với một số được làm tròn). Ta có thể thêm một đối số tùy chọn cho phương thức toExponential() để xác định số lượng ký tự phần thập phân của biểu thức mũ.

Biểu thức mũ sẽ tương tự những ví dụ sau:

  • 5 (trong toán học tương đương với 5.100) sẽ có biểu thức mũ là 5e+0
  • 500 (trong toán học tương đương với 5.102) sẽ có biểu thức mũ là 5e+2
  • 0.05 (trong toán học tương đương với 5.10-2) sẽ có biểu thức mũ là 5e-2
  • 0.0005 (trong toán học tương đương với 5.10-4) sẽ có biểu thức mũ là 5e-4

Ví dụ:

<p id="demo"></p>

<script>
let x = 9.656;
document.getElementById("demo").innerHTML =
  x.toExponential() + "<br>" + 
  x.toExponential(2) + "<br>" + 
  x.toExponential(4) + "<br>" + 
  x.toExponential(6);
</script>

 

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ố.

3. Phương thức toFixed() trong JavaScript

Phương thức toFixed() dùng để làm tròn một số đến phần thập phân xác định. Kết quả trả về sẽ là một chuỗi.

Ví dụ:

var a = 1993.123456789;
document.write(a.toFixed(1));
document.write("<hr>");
document.write(a.toFixed(3));
document.write("<hr>");
document.write(a.toFixed(5));

4. Phương thức toPre precision() trong JavaScript

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

Ví dụ:

<p id="demo"></p>

<script>
let x = 9.656;
document.getElementById("demo").innerHTML = 
  x.toPrecision() + "<br>" +
  x.toPrecision(2) + "<br>" +
  x.toPrecision(4) + "<br>" +
  x.toPrecision(6);  
</script>

5. Phương thức valuOf() trong JavaScript

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

Ví dụ:

<p id="demo"></p>

<script>
let x = 123;

document.getElementById("demo").innerHTML = 
  x.valueOf() + "<br>" +
  (123).valueOf() + "<br>" +
  (100 + 23).valueOf();
</script>

Trong JavaScript, một số có thể là một giá trị nguyên thủy (typeof = number) hoặc một đối tượng (typeof = object). Các phương pháp  valueOf() được sử dụng trong nội Js để chuyển đổi đối tượng số sang các giá trị nguyên thủy.

Không có lý do gì để sử dụng nó trong mã của bạn.

Lưu ý

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

6. Các phương thức JavaScript toàn cầu

Các phương thức toàn cầu của JavaScript có thể được sử dụng trên tất cả các kiểu dữ liệu JavaScript. Có 3 phương pháp JavaScript có thể được sử dụng để chuyển đổi các biến thành số:

  • Number() : phân tích một giá trị để trả về một số tương ứng
  • parseInt() : phân tích một chuỗi để trả về một số nguyên tương ứng
  • parseFloat() : phân tích một chuỗi để trả về một số thực tương ứng

Các phương pháp này không phải là phương thức số , mà là phương thức JavaScript toàn cục .

6.1. Phương thức Number

Number() có thể được sử dụng để chuyển đổi các biến JavaScript thành số. Phương thức Number() sẽ phân tích một giá trị để trả về một số tương ứng với giá trị đó.

Ví dụ:

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
  Number(true) + "<br>" +
  Number(false) + "<br>" +
  Number("10") + "<br>" + 
  Number("  10") + "<br>" +
  Number("10  ") + "<br>" +
  Number(" 10  ") + "<br>" +
  Number("10.33") + "<br>" + 
  Number("10,33") + "<br>" +
  Number("10 33") + "<br>" +
  Number("John");
</script>

Lưu ý

  • Nếu giá trị là một đối tượng ngày tháng thì phương thức Number() sẽ trả về tổng số mili giây từ 1/1/1970 đến thời điểm của đối tượng ngày tháng đó.
  • Nếu không thể chuyển đổi số, NaN(không phải là số) sẽ được trả về.
var a = Number(true);
var b = Number(false);
var c = Number(new Date());
var d = Number("1993");
var e = Number("19 93");

document.write(a + "<br>");
document.write(b + "<br>");
document.write(c + "<br>");
document.write(d + "<br>");
document.write(e + "<br>");

6.2. Phương thức parseInt()

Phương thức parseInt() phân tích cú pháp một chuỗi và trả về một số nguyên. Khoảng trắng được cho phép. Chỉ số đầu tiên được trả lại. Nếu không thể phân tích chuỗi ra số nguyên thì phương thức parseInt() sẽ trả về NaN.

Ví dụ:

var a = parseInt("20");
var b = parseInt("20.55");
var c = parseInt("20 40");
var d = parseInt(" 20 ");
var e = parseInt("20 years");
var f = parseInt("years 20");

document.write(a + "<br>");
document.write(b + "<br>");
document.write(c + "<br>");
document.write(d + "<br>");
document.write(e + "<br>");
document.write(f + "<br>");

6.3. Phương thức parseFloat()

Phương thức parseFloat() phân tích cú pháp một chuỗi và trả về một số. Khoảng trắng được cho phép. Chỉ số đầu tiên được trả lại. Nếu không thể phân tích chuỗi ra số thực thì phương thức parseFloat() sẽ trả về NaN.

Ví dụ:

var a = parseFloat("20");
var b = parseFloat("20.44");
var c = parseFloat("20 44");
var d = parseFloat(" 20.55 ");
var e = parseFloat("20.66 years");
var f = parseFloat("years 20.66");

document.write(a + "<br>");
document.write(b + "<br>");
document.write(c + "<br>");
document.write(d + "<br>");
document.write(e + "<br>");
document.write(f + "<br>");