Hướng dẫn how do i limit the number of decimal places in javascript? - làm cách nào để giới hạn số lượng chữ số thập phân trong javascript?

Để hạn chế các vị trí thập phân trong javascript, hãy sử dụng phương thức tofixed () bằng cách chỉ định số lượng số thập phân.toFixed() method by specifying the number of decimal places.

Phương pháp này:

  1. Làm tròn số. the number.
  2. Chuyển đổi nó thành một chuỗi. it into a string.
  3. Trả về số dưới dạng chuỗi. the number as a string.

Chẳng hạn, hãy để vòng tròn đến 2 số thập phân:

let pi = 3.1415;
let rounded = pi.toFixed(2);

console.log(rounded);

Output:

3.14

Nhưng đây chỉ là một cách để làm điều đó. Ngoài ra, nó có một số cảnh báo.

Đây là một hướng dẫn toàn diện về các giá trị làm tròn trong JavaScript. Bạn sẽ học cách:. You will learn how to:

  1. Vòng một số với phương thức tofixed () và cảnh báo của nó.toFixed() method and its caveats.
  2. Vòng một số sử dụng hàm Math.Round ().Math.round() function.
  3. Tạo một chức năng làm tròn chung.

1. Hạn chế các vị trí thập phân bằng phương thức tofixed ()

Hướng dẫn how do i limit the number of decimal places in javascript? - làm cách nào để giới hạn số lượng chữ số thập phân trong javascript?

Trong javascript, bạn có thể sử dụng phương thức tofixed () tích hợp để giới hạn các vị trí thập phân của một số.toFixed() method to limit the decimal places of a number.

Chẳng hạn, hãy để vòng một số đến 2 số thập phân:

let pi = 3.145;
let rounded = pi.toFixed(2);

console.log(rounded);

Output:

3.14

Tuy nhiên, đôi khi phương pháp này không cho kết quả chính xác.

Ví dụ, hãy để số vòng tròn 1.0005 đến 3 số thập phân. Nếu bạn quen thuộc với toán học, bạn biết hoạt động này sẽ làm tròn số lên 1,001. Nhưng hãy nhìn những gì xảy ra với phương thức tofixed ():1.0005 to 3 decimals. If you are familiar with mathematics, you know this operation should round the number to 1.001. But look what happens with the toFixed() method:

var n = 1.0005;
n = n.toFixed(3);

console.log(n);

Output:

1.000

Nó làm tròn sai số xuống 1.000 thay vì làm tròn chính xác nó lên tới 1,001.1.000 instead of correctly rounding it up to 1.001.

Do các loại không chính xác này, tốt nhất là sử dụng các phương pháp khác để làm tròn trong JavaScript.

2. Giới hạn các vị trí thập phân với hàm math.round ()

Hướng dẫn how do i limit the number of decimal places in javascript? - làm cách nào để giới hạn số lượng chữ số thập phân trong javascript?

Để giới hạn, nghĩa là, làm tròn một số đến n số thập phân, sử dụng hàm toán học tích hợp ().Math.round() function.

Ví dụ, hãy để Vòng tròn một số đến 2 thập phân.

var n = 2.781;
var rounded = Math.round(n * 100) / 100;

console.log(rounded);

Output:

2.78

Nhưng cách tiếp cận này cũng có sự cảnh báo tương tự như phương pháp trước. Các giá trị như 1,005 được làm tròn sai đến 1 thay vì 1.01.1.005 get falsely rounded to 1 instead of 1.01.

Ví dụ:

var n = 1.005;
var rounded = Math.round(n * 100) / 100;

console.log(rounded);

Điều này sẽ tạo ra 1.01 nhưng thay vào đó, nó trả về 1.1.01 but instead, it returns 1.

1

Để tránh vấn đề này, hãy sử dụng số.epsilon theo cách này:Number.EPSILON this way:

3.14
0

Output:

3.14
1

3. Chức năng làm tròn chung trong JavaScript

Hướng dẫn how do i limit the number of decimal places in javascript? - làm cách nào để giới hạn số lượng chữ số thập phân trong javascript?

Trong ví dụ trước, bạn đã học cách làm tròn các số bằng Math.Round () với Number.epsilon.Math.round() with number.EPSILON.

Nhưng ví dụ chỉ chỉ cho bạn cách làm tròn đến 2 chữ số thập phân.

Điều gì sẽ xảy ra nếu bạn muốn làm tròn đến các vị trí thập phân?

Hãy cùng viết một chức năng làm tròn chung cho điều đó với các thông số kỹ thuật này:

  1. Đến vòng 1 thập phân, nhân với 10, tròn và chia cho 10 (10^1).10^1).
  2. Cho 2 thập phân nhân và chia cho 100 (10^2).10^2).
  3. Đối với n thập phân, nhân và chia cho 10^n.10^n.

Hãy cùng viết một chức năng làm tròn chung và mở rộng số. Kiểu mẫu với nó. Bằng cách này, bạn có thể gọi .Round () trên bất kỳ loại số nào trong JavaScript.Number.prototype with it. This way you can call .round() on any numeric type in JavaScript.

3.14
2

Ví dụ sử dụng:

3.14
3

Lưu ý làm thế nào điều này cũng sẽ dẫn đến các vấn đề khi làm tròn các số gần với độ chính xác dấu phẩy động tích hợp.

Ví dụ:

3.14
4

Sự kết luận

Hôm nay, bạn đã học được cách hạn chế các vị trí thập phân trong JavaScript.

Để tóm tắt lại, bạn có thể sử dụng phương thức .tofixed () để hạn chế các vị trí thập phân. Nhưng điều này có một số vấn đề làm tròn. Để khắc phục những điều đó, bạn có thể sử dụng math.round () với số.epsilon..toFixed() method to limit decimal places. But this has some rounding issues. To overcome those, you can use Math.round() with number.EPSILON.

Cảm ơn vì đã đọc.

Mã hóa hạnh phúc!

Đọc thêm

100 câu hỏi phỏng vấn JavaScript