Làm tròn số trong JavaScript. môn Toán. vòng[]
Câu hỏi. Làm cách nào để làm tròn một số đến n chữ số thập phân?
Câu trả lời. Để làm tròn một số trong JavaScript, hãy sử dụng phương thức Math.round
Math.round[X]; // round X to an integer Math.round[10*X]/10; // round X to tenths Math.round[100*X]/100; // round X to hundredths Math.round[1000*X]/1000; // round X to thousandths ...Để chuyển đổi một số thành một chuỗi đại diện cho số của bạn với đúng n chữ số thập phân, hãy sử dụng phương thức toFixed
Bản quyền © 1999-2011, JavaScripter. bọc lưới
Làm thế nào để bạn làm tròn đến số nguyên gần nhất trong Java? . Phương thức round[] trong Java được sử dụng để làm tròn một số thành số nguyên gần nhất của nó. Điều này được thực hiện bằng cách thêm 1/2 1/2 1/2 vào số, lấy giá trị sàn của kết quả và chuyển kết quả thành kiểu dữ liệu số nguyên
ví dụ
Tự mình thử »let a = Toán. tròn [2. 60];
let b = Toán. tròn [2. 50];
let c = Math. tròn [2. 49];
let d = Math. vòng[-2. 60];
let e = Toán. vòng[-2. 50];
hãy f = Toán. vòng[-2. 49];
Định nghĩa và cách sử dụng
Phương thức Math.round[]
làm tròn một số đến số nguyên gần nhất
2. 49 sẽ được làm tròn xuống [2] và 2. 5 sẽ được làm tròn lên [3]
cú pháp
Thông số
Thông sốMô tảxBắt buộc.Một số.
Giá trị trả về
TypeDescriptionNumberSố được làm tròn đến số nguyên gần nhấtHỗ trợ trình duyệt
Math.round[]
là một tính năng ECMAScript1 [ES1]
ES1 [JavaScript 1997] được hỗ trợ đầy đủ trên mọi trình duyệt
Trong một dự án gần đây, tôi có nhu cầu làm tròn một số đến nửa thập phân gần nhất [vì vậy số sẽ kết thúc bằng. 0 hoặc một. 5] sử dụng JavaScript. Vì vậy, nếu giá trị là 100. 1 hoặc 100. 2, nó sẽ trả về 100. Nếu giá trị là 100. 3 hoặc 100. 4, nó sẽ trả về 100. 5, v.v. Có các hàm làm tròn được tích hợp sẵn trong JavaScript, nhưng điều này cần một chút suy nghĩ khác để thực hiện
Hàm nhận vào một số có 0 hoặc 1 số thập phân. Nếu không có số thập phân nào thì số đó đã là số nguyên. Sử dụng giả định này, điều đầu tiên mà hàm thực hiện là lấy giá trị thập phân đó. Điều đó được thực hiện trong hai tuyên bố. Đầu tiên lấy số và trừ đi phần nguyên. Vì vậy, chúng tôi chỉ có phần thập phân. Phần thập phân đó được nhân với 10 và sau đó được làm tròn để loại bỏ bất kỳ phần phân số nào có thể còn lại. Vì vậy, nếu giá trị đến là 100. 55, phần thập phân sẽ là 6. Đây chỉ là một sự đảm bảo, vì tôi biết những con số đến chỉ có một chữ số thập phân
Khi tôi có phần thập phân đó, tôi kiểm tra xem nó có phải là 5 không. Nếu đúng như vậy, thì số xuất hiện rất có thể là "x. 5" ["x" là phần nguyên và phần phân số là ". 5"]. Tôi nói "rất có thể" vì trong chức năng của mình, tôi đã nhận được một điểm thập phân. Nhưng nếu số đến là "x. 49", phần thập phân sẽ cho kết quả là 5 [4. 9 được làm tròn thành 5]. Trong trường hợp này, tôi muốn hàm trả về đúng "x. 5", vì vậy tôi lấy phần nguyên của số, thêm 0. 5 cho nó và trả về giá trị đó
Tiếp theo, nếu phần thập phân nhỏ hơn 3 [0, 1 hoặc 2] hoặc lớn hơn 7 [8 hoặc 9], thì số đó sẽ được làm tròn [đối với các giá trị nhỏ hơn 3, số này sẽ được làm tròn xuống số nguyên thấp hơn tiếp theo và
Lần kiểm tra cuối cùng là khi phần thập phân nằm trong khoảng từ 3 đến 7 [3, 4, 5, 6 hoặc 7]. Các giá trị này cần dẫn đến "x. 5" [trong đó x là phần nguyên của số]. Vì vậy, tôi lấy phần nguyên của số và thêm 0. 5 thành giá trị trả về. Đây là chức năng
Nếu phần phân số của đối số lớn hơn 0. 5, đối số được làm tròn thành số nguyên có giá trị tuyệt đối cao hơn tiếp theo. Nếu nhỏ hơn 0. 5, đối số được làm tròn thành số nguyên có giá trị tuyệt đối nhỏ hơn. Nếu phần phân số chính xác là 0. 5, đối số được làm tròn thành số nguyên tiếp theo theo hướng +∞
Ghi chú. Điều này khác với các hàm round[]
của nhiều ngôn ngữ, thường làm tròn nửa gia số từ 0, cho kết quả khác trong trường hợp số âm có phần phân số chính xác bằng 0. 5
Math.round[x]
không hoàn toàn giống như Math.floor[x + 0.5]
. Khi
Math.round[-Infinity]; // -Infinity
Math.round[-20.51]; // -21
Math.round[-20.5]; // -20
Math.round[-0.1]; // -0
Math.round[0]; // 0
Math.round[20.49]; // 20
Math.round[20.5]; // 21
Math.round[42]; // 42
Math.round[Infinity]; // Infinity
0 là -0 hoặc -0. 5 ≤ x < 0, Math.round[x]
trả về -0, trong khi Math.floor[x + 0.5]
trả về 0. Tuy nhiên, bỏ qua sự khác biệt đó và các lỗi chính xác tiềm ẩn, Math.round[x]
và Math.floor[x + 0.5]
nói chung là tương đươngBởi vì round[]
là một phương thức tĩnh của
Math.round[-Infinity]; // -Infinity
Math.round[-20.51]; // -21
Math.round[-20.5]; // -20
Math.round[-0.1]; // -0
Math.round[0]; // 0
Math.round[20.49]; // 20
Math.round[20.5]; // 21
Math.round[42]; // 42
Math.round[Infinity]; // Infinity
4, bạn luôn sử dụng nó như một Math.round[]
, chứ không phải là một phương thức của một đối tượng Math.round[-Infinity]; // -Infinity
Math.round[-20.51]; // -21
Math.round[-20.5]; // -20
Math.round[-0.1]; // -0
Math.round[0]; // 0
Math.round[20.49]; // 20
Math.round[20.5]; // 21
Math.round[42]; // 42
Math.round[Infinity]; // Infinity
4 mà bạn đã tạo [Math.round[-Infinity]; // -Infinity
Math.round[-20.51]; // -21
Math.round[-20.5]; // -20
Math.round[-0.1]; // -0
Math.round[0]; // 0
Math.round[20.49]; // 20
Math.round[20.5]; // 21
Math.round[42]; // 42
Math.round[Infinity]; // Infinity
4 không có hàm tạo]