thể trùng lặp:
Why doesn't Math.Round/Floor/Ceiling return long or int?lý do tại sao math.Ceiling (double a) không trả về int trực tiếp?
MSDN định nghĩa phương pháp này: Trả về nhỏ nhất nguyên lớn hơn hoặc bằng với đôi chính xác số dấu chấm động quy định.
nhưng trên thực tế, nó là
public static double Ceiling (
double a
)
tại sao không trở về int trực tiếp? những gì hiện microsoft nghĩ đến?
Và tất nhiên, nếu bạn làm một diễn viên rõ ràng giống như ví dụ rằng, nếu giá trị * không * phù hợp, thời gian chạy sẽ ném một phù hợp (và bạn nhận được ngoại lệ để đối phó với). –
Thật ngớ ngẩn: đôi khi chỉ có thể lưu trữ đáng kể ~ 7-8 con số đáng kể, vì vậy bạn sẽ không thể làm tròn bất cứ thứ gì cao hơn '2147483648'. –
@ ChrisBurt-Brown: Một 'double' có thể giữ mọi bội số của một nửa lên đến 2^52, lớn hơn đáng kể so với phạm vi 2^31 của' Int32' (nhưng nhỏ hơn 2^63 của một ' Int64'). – supercat