Mục lục

Làm tròn số trong Javascript như thế nào?

Làm tròn số trong Javascript – Đối với nhiều bạn mới học JavaScript hoặc đang thực hành ngôn ngữ này thì việc làm tròn số trong Javascript là kiến thức cần phải biết. Để giúp anh em dễ thành thạo ngôn ngữ JavaScript hơn, ATPWEB sẽ hướng dẫn các bạn cách làm tròn số trong Javascript cực kỳ đơn giản.

Xem thêm: MEANJS, MEAN Stack là gì? Hướng dẫn làm ứng dụng viết blog bằng Meanjs

làm tròn số trong Javascript
Làm tròn số trong Javascript

Rounding và Truncating trong JavaScript

Sự khác biệt giữa hai phương pháp này là nhỏ nhưng bạn cần phải phân biệt được. Cả hai phương pháp này đều là phương pháp tính gần đúng một số bằng cách bỏ chữ số thập phân.

  • Rounding (Làm tròn) gần đúng một số bằng cách sử dụng một số lân cận ở một mức độ chính xác nhất định. Nó có thể xảy ra theo hai hướng: lên và xuống. Làm tròn lên gần đúng một số theo hướng dương vô cùng. Làm tròn xuống về phía âm vô cực.
  • Truncating (Cắt bớt) sẽ cho ra các giá trị gần đúng mà không làm tròn số. Nói cách khác, nó “làm tròn” về phía 0.
Rounding
3.14159 ≈ 3.1416

Truncating
3.14159 ≈ 3.1415

Hy vọng rằng bạn nhận được sự khác biệt. Điều này làm cho việc cắt bớt hiếm khi hữu ích trong các phép tính chính xác (mặc dù JavaScript có lẽ không phải là một lựa chọn tốt nếu bạn cần tính toán chính xác) nhưng bạn có thể gặp phải một tình huống mà nó có thể không thể thay thế được.

Ví dụ một lần có thể là khi cần giảm các vị trí thập phân khỏi giá trị pixel để tránh khử răng cưa hoặc làm tròn pixel kỳ lạ, điều này hoàn toàn khác biệt trên các công cụ trình duyệt.

Sử dụng phương pháp .toFixed

Cách đầu tiên, chúng ta có thể dùng phương thức .toFixed() để làm tròn số trong JavaScript.

var numb = 12312214.124124124;
numb = numb.toFixed(2);

Phương pháp này không mang lại kết quả chính xác trong một số trường hợp, và có những phương pháp tốt hơn phương pháp này.

Nếu một số làm tròn thành 1,2 thì nó sẽ hiển thị 1,20. Nếu một số như 2.005 được đưa ra, nó sẽ trả về 2.000 thay vì 2.01.

Sử dụng hàm Math.round ()

Ở phương pháp làm tròn số trong JavaScript với hàm Math.round (), chúng ta sẽ lấy số và thêm một số rất nhỏ, Number.EPSILON, để đảm bảo làm tròn số chính xác.

Sau đó, chúng ta nhân số đó với 100 trước khi làm tròn để chỉ lấy ra hai chữ số sau chữ số thập phân.

Cuối cùng, chúng ta chia số lại cho 100 để có tối đa 2 chữ số thập phân.

var numb= 212421434.533423131231;
var rounded = Math.round((numb + Number.EPSILON) * 100) / 100;
console.log(rounded);

Output:

212421434.53

Mặc dù phương pháp này được cải thiện hơn so với .toFixed (), nó vẫn không phải là giải pháp tốt nhất và cũng sẽ không làm tròn 1.005 một cách chính xác.

Sử dụng phương pháp làm tròn đôi

Trong phương pháp này, chúng ta sử dụng phương thức .toPre precision () để loại bỏ các lỗi làm tròn dấu phẩy “động” xảy ra trong quá trình tính toán trung gian trong làm tròn đơn.

function round(num) {
var m = Number((Math.abs(num) * 100).toPrecision(15));
return Math.round(m) / 100 * Math.sign(num);
}

console.log(round(1.005));

Output:

1.01

Sử dụng chức năng tùy chỉnh để làm tròn một số trong JavaScript đến 2 chữ số thập phân

function roundToTwo(num) {
return +(Math.round(num + "e+2") + "e-2");
}
console.log(roundToTwo(2.005));

Chức năng tùy chỉnh này xử lý tất cả các trường hợp góc và làm tròn các số thập phân như 1.005 được chức năng này xử lý tốt.

làm tròn số trong Javascript

Tổng kết

Trên đây là các cách làm tròn số trong JavaScript cực kỳ nhanh chóng mà bạn có thể áp dụng trong thực tế công việc và học tập. Chúc các bạn thành công!!!

ATPWEB – Xây dựng ngôi nhà Online

Liên hệ:

Đánh giá bài viết post

Leave a Comment

Email 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 *

LIÊN HỆ TƯ VẤN

Thiết Kế Web
BLOG
Đăng ký tư vấn
Thiết kế website
Đồng hành cùng ATP WEB

Đăng ký tư vấn Thiết kế website