如此处所述,Math.Ceiling返回:“大于或等于 a 的最小整数值”。但后面又说明:“请注意,该方法返回的是 Double 类型而不是整数类型。” 我想知道为什么?
因为双精度浮点数的最大值比整数支持的最大值要大得多。
如果请求一个具有大于Int32.MaxValue(甚至Int64.MaxValue)值的double,如果返回一个整数将是不可能的。
Int32.MaxValue
Int64.MaxValue
double
最大整数类型的范围仍然比Double小得多。因此,许多有效的double值将没有Ceiling()。