TypeScript:
Làm tròn số
Làm thế nào:
Việc làm tròn trong TypeScript có thể được thực hiện bằng nhiều phương pháp. Dưới đây là một số cách nhanh chóng:
// Math.round làm tròn đến số nguyên gần nhất
console.log(Math.round(1.5)); // Kết quả: 2
// Math.ceil làm tròn lên đến số nguyên gần nhất
console.log(Math.ceil(1.1)); // Kết quả: 2
// Math.floor làm tròn xuống đến số nguyên gần nhất
console.log(Math.floor(1.8)); // Kết quả: 1
// toFixed làm tròn đến một số lượng chữ số thập phân cố định
let num = 1.23456;
console.log(num.toFixed(2)); // Kết quả: "1.23"
// Lưu ý: toFixed trả về một chuỗi! Sử dụng parseFloat để chuyển đổi lại nếu cần.
console.log(parseFloat(num.toFixed(2))); // Kết quả: 1.23
Sâu hơn
Ngày xưa, việc làm tròn là một yêu cầu bắt buộc do không gian lưu trữ hạn chế và vấn đề về độ chính xác trong các máy tính đời đầu. Ngày nay, tính toán số dấu phẩy động có thể dẫn đến kết quả kỳ lạ do cách số được lưu trữ dưới dạng nhị phân. Các phương pháp thay thế cho việc làm tròn bao gồm floor, ceil, và trunc (để cắt bỏ phần thập phân mà không làm tròn).
Điều đáng chú ý bên trong: Math.round
tuân theo “làm tròn nửa lên” (còn gọi là “làm tròn thương mại”), trong khi Math.floor
và Math.ceil
là đơn giản. toFixed
có thể gây ra kết quả không mong đợi vì nó trả về một chuỗi, và nó làm tròn theo “làm tròn nửa đến chẵn” (còn gọi là “làm tròn ngân hàng”), đặc biệt hữu ích để giảm thiên vị khi làm tròn cùng một số nhiều lần.