Phương thức toPrecision() trong JavaScript

Phương thức toPrecision() trong JavaScript
Phương thức toPrecision() trong JavaScript

Chức năng của Phương thức toPrecision() trong JavaScript

Phương thức toPrecision() trong JavaScript dùng để làm tròn số thập phân và quy định số con số trả về ở trước dấu chấm và sau dấu chấm, giá trị con số truyền vào để lấy số con số thì nó không tính những số 0 ở vị trí đầu tiên ở trước dấu chấm kết hợp với sau dấu chấm.

Cú pháp của Phương thức toPrecision() trong JavaScript

sothapphan.toPrecision(solamtron);

sothapphan: Số thập phân truyền trực tiếp hoặc lấy từ biến vào.

solamtron: Số chữ số cần làm tròn.

Code Phương thức toPrecision() trong JavaScript

document.write(bienmot.toPrecision(4)+"<br>"); // Kết quả: 35.76
<script>
let bienmot = 35.756789;
let bienhai = 0.035;
document.write(bienmot.toPrecision(4)+"<br>"); // Kết quả: 35.76
document.write(bienmot.toPrecision(2)+"<br>"); // Kết quả: 36
document.write(bienmot.toPrecision(3)+"<br>"); // Kết quả: 35.8
document.write(bienmot.toPrecision(5)+"<br>"); // Kết quả: 35.757
var ketqua = bienmot.toPrecision(4); 
document.write(typeof ketqua +"<br>"); // Kết quả: string
document.write(bienhai.toPrecision(4)+"<br>"); // Kết quả: 0.03500
document.write(bienhai.toPrecision(2)+"<br>"); // Kết quả: 0.035
document.write(bienhai.toPrecision(3)+"<br>"); // Kết quả: 0.0350
document.write(bienhai.toPrecision(5)+"<br>"); // Kết quả: 0.035000
var ketquahai = bienhai.toPrecision(4); 
document.write(typeof ketquahai); // Kết quả: string
</script>

Kết quả:

35.76
36
35.8
35.757
string
0.03500
0.035
0.0350
0.035000
string

Chạy Thử

Những trường hợp cần lưu ý khi sử dụng phương thức toPrecision() trong JavaScript

toPrecision() phù hợp khi cần kiểm soát số chữ số có nghĩa của một giá trị. Tuy nhiên, kết quả có thể khác với cách hiển thị số thập phân thông thường. Hiểu rõ cách JavaScript xử lý số chữ số và dạng số mũ sẽ giúp tránh nhầm lẫn khi sử dụng phương thức này.

toPrecision() tính số chữ số như thế nào?

Tham số của toPrecision() biểu thị tổng số chữ số có nghĩa của kết quả, bao gồm cả phần nguyên và phần thập phân. Vì vậy, nó không đơn thuần là số chữ số muốn giữ lại sau dấu chấm.

Ví dụ, giá trị 123.456 khi gọi toPrecision(4) sẽ được làm tròn thành 123.5. Kết quả vẫn có tổng cộng 4 chữ số có nghĩa là 1, 2, 3 và 5.

const number = 123.456;

console.log(number.toPrecision(4));

Với số có phần nguyên dài hơn số chữ số được yêu cầu, JavaScript có thể chuyển kết quả sang dạng số mũ để đáp ứng chính xác số chữ số có nghĩa.

Khi nào toPrecision() trả về dạng số mũ?

Khi số quá lớn hoặc quá nhỏ so với độ chính xác được yêu cầu, toPrecision() có thể biểu diễn kết quả bằng ký hiệu số mũ. Đây là cách JavaScript giữ đúng số chữ số có nghĩa mà không cần tạo ra một chuỗi gồm quá nhiều số 0.

Chẳng hạn, với một giá trị rất lớn và yêu cầu ít chữ số có nghĩa, kết quả có thể xuất hiện dưới dạng 1.2e+8 thay vì viết đầy đủ số. Tương tự, các giá trị rất nhỏ có thể được biểu diễn như 1.2e-7.

const number = 123456789;

console.log(number.toPrecision(2));

Do đó, nếu mục đích là hiển thị số theo một định dạng cố định có số chữ số sau dấu thập phân, toFixed() thường phù hợp hơn. Còn toPrecision() nên được ưu tiên khi yêu cầu chính là kiểm soát tổng số chữ số có nghĩa.

Vì sao kết quả của toPrecision() có kiểu dữ liệu string?

Mặc dù được gọi trên một giá trị kiểu số, toPrecision() trả về một string. Điều này xảy ra vì phương thức được thiết kế để tạo ra một cách biểu diễn số theo độ chính xác đã chọn, thay vì trả về một giá trị số mới để tiếp tục tính toán.

Điểm này cần được chú ý khi sử dụng kết quả trong các phép tính hoặc khi kiểm tra kiểu dữ liệu. Nếu cần chuyển kết quả trở lại kiểu number, có thể sử dụng Number() hoặc các cách chuyển đổi số phù hợp.

const number = 45.6789;
const result = number.toPrecision(3);

console.log(result);
console.log(typeof result);

Trong đó, result là chuỗi ký tự chứa giá trị đã được định dạng. Vì vậy, nên phân biệt rõ giữa giá trị số dùng để tính toán và chuỗi kết quả dùng để hiển thị khi làm việc với toPrecision().

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức toPrecision() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức toPrecision() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !