Thắc mắc về hàm Round trong VBA

Liên hệ QC

Ngô Hải Đăng

Thành viên hoạt động
Tham gia
31/8/17
Bài viết
183
Được thích
247
Giới tính
Nam
Xin chào các anh chị em trên diễn đàn. Mình có thắc mắc về hàm Round như sau:
PHP:
Debug.Print Round(2.5), Round(1.5)
2 lệnh Round trên đều cho kết quả = 2. Tương tự cho các trường hợp khác, nếu phần nguyên là số lẻ thì nó sẽ làm tròn lên, còn phần nguyên là số chẵn thì làm tròn xuống. Trước giờ mình vẫn nghĩ là Round(2.5) = 3. Nếu muốn Round(2.5) = 3 thì mình có phải thiết lập thêm gì không hay là phải chuyển qua dùng WorksheetFunction.Round(2.5).
 
VBA dùng hàm Round của Access. Tức là cách làm tròn số 5 lẻ theo luật tài chính. (Lưu ý: chỉ số 5 thôi)
Tài chính bắt buộc phải theo luật xác suất.
Nếu theo luật toán và vật lý, luôn luôn nâng 5 lên thì sẽ xảy ra tình trạng không đều. Có đến 5 trường hợp được nâng (5 6 7 8 9) trong khi chỉ có 4 trường hợp giảm (1 2 3 4)
Theo luật xác xuất, chỉ 6 7 8 9 được tự động nâng; 5 bắt buộc phải chia làm 2 trường hợp, 50% nâng và 50% không. Một trong những cách chọn lựa khá quân bình là chọn nâng thành số chẵn.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom