Tôi có thể khỏa lấp những yếu tố của A
đến số nguyên gần lớn hơn hoặc bằng A
trần đến gần 50
ceil(A)
Nhưng những gì về nếu tôi muốn làm tròn nó vào gần 50 lớn hơn hoặc bằng A
?
Ví dụ, do A
mảng sau,
A=[24, 35, 78, 101, 199];
Một chương trình con nên trở lại như sau
B=Subroutine(A)=[50, 50, 100, 150, 200];
Lưu ý rằng điều này có thể giới thiệu hình dung nổi-điểm lỗi làm tròn, cho các giá trị lớn trong A. –
Meh, vì vậy hãy loại bỏ dấu thập phân sau 50 trong phân chia. Hoặc là các số đã là các giá trị dấu phẩy động, trong trường hợp đó vấn đề đã xuất hiện ở nơi khác trong mã, hoặc các số là số nguyên, trong trường hợp đó chỉ cần loại bỏ dấu thập phân và bây giờ bạn đang thực hiện phân chia số nguyên và bổ sung , trong trường hợp này không có vấn đề về dấu phẩy động. Vì vậy, tôi không thấy vấn đề ở đây. –
Vấn đề là kết quả sẽ không chính xác. :-) Ví dụ, hãy thử '77777777777777777' làm đầu vào: phương thức này cho kết quả không chính xác' 77777777777777792', trong khi phương thức mô đun chính xác cho '77777777777777800'. –