Mdn javascript cố định

Làm tròn số trong Javascript – Đối với nhiều bạn mới học JavaScript hoặc đang thực thi 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ễ dàng sử dụng 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ì?

Mdn javascript cố định
Làm tròn số trong Javascript

Làm tròn và cắt bớt 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 toán gần đúng một số bằng cách bỏ qua các chữ số thập phân

  • Làm tròn (Làm tròn) đúng gần 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. up and down. 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 phía cực âm
  • Truncating (Cắt giảm) 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 giảm bớt khi hữu ích trong các phép tính chính xác (mặc dù JavaScript có thể không phải là một lựa chọn tốt cho bạn nếu cần tính toán chính xác) nhưng bạn có thể gặp phải một vấn đề mà nó có.

Ví dụ một lần có thể là khi cần giảm các vị trí thu thập phân tích khỏi giá trị pixel để tránh loại bỏ 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 trình duyệt công cụ

Use method. toFixed

Đầu tiên, chúng ta có thể sử 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. If a number as 2. 005 được đưa ra, nó sẽ trả lại 2. 000 thay vì 2. 01

Use function Math. vòng ()

Ở 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 lại số cho 100 để có tối đa 2 chữ số phân tích

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

đầu ra

212421434.53

Mặc dù phương pháp này được cải thiện tốt 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 kép

Trong phương pháp này, chúng ta sử dụng phương thức

var numb = 12312214.124124124;
numb = numb.toFixed(2);
0 để loại bỏ các lỗi làm tròn dấu hài “độ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));

đầu ra

1.01

Sử dụng chức năng tùy chỉnh để làm tròn một số trong JavaScript thành 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 is this chức năng xử lý tốt

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

Nguồn cho ví dụ tương tác này được lưu trữ trong kho lưu trữ GitHub. Nếu bạn muốn đóng góp cho dự án ví dụ tương tác, vui lòng sao chép https. //github. com/mdn/interactive-examples và gửi yêu cầu kéo cho chúng tôi

cú pháp

________số 8_______

Thông số

digits Tùy chọn Số chữ số sẽ xuất hiện sau dấu thập phân; . Nếu đối số này bị bỏ qua, nó được coi là 0.

Giá trị trả về

Một chuỗi đại diện cho số đã cho bằng cách sử dụng ký hiệu điểm cố định

ngoại lệ

RangeErrorNếu digits quá nhỏ hoặc quá lớn. Các giá trị từ 0 đến 100, bao gồm, sẽ không gây ra RangeError. Việc triển khai được phép hỗ trợ các giá trị lớn hơn và nhỏ hơn như đã chọn. TypeErrorNếu phương thức này được gọi trên một đối tượng không phải là một Number

Sự miêu tả

toFixed() trả về một chuỗi đại diện của numObj không sử dụng ký hiệu hàm mũ và có chính xác các chữ số ____12_______ sau vị trí thập phân. Số được làm tròn nếu cần và phần phân số được đệm bằng số 0 nếu cần để nó có độ dài đã chỉ định. Nếu numObj lớn hơn hoặc bằng toFixed()2, thì phương thức này chỉ cần gọi toFixed()3 và trả về một chuỗi theo ký hiệu hàm mũ

Các số dấu phẩy động không thể biểu thị chính xác tất cả các số thập phân ở dạng nhị phân, điều này có thể dẫn đến các kết quả không mong muốn, chẳng hạn như toFixed()4 trả về toFixed()5

ví dụ

Sử dụng toFixed()6

thông số kỹ thuật

SpecificationStatusCommentECMAScript Phiên bản thứ 3 (ECMA-262) Tiêu chuẩn Định nghĩa ban đầu. Được triển khai trong JavaScript 1. 5. Tiêu chuẩn   Tiêu chuẩn   Bản thảo 

Tính tương thích của trình duyệt web

Bảng tương thích trong trang này được tạo từ dữ liệu có cấu trúc. Nếu bạn muốn đóng góp cho dữ liệu, vui lòng xem https. //github. com/mdn/browser-compat-data và gửi yêu cầu kéo cho chúng tôi