为什么Math.floor返回双精度数?


问题内容

官方Javadoc
,它Math.floor()返回double“等于数学整数”的a,但是为什么它不应该返回a
int


问题答案:

根据同一Javadoc:

如果自变量是NaN或无穷大或正零或负零,则结果与自变量相同。不能用int

最大的double价值也比最大的大int,所以它必须是一个long