为什么Double.infinite不为无限分数返回true?

Edu*_*nis 4 java double

Double.isInfinite(1.0 / 0.0);
Run Code Online (Sandbox Code Playgroud)

返回true.

Double.isInfinite(1.0 / 3.0);
Run Code Online (Sandbox Code Playgroud)

但这没有,而且根据我的理解,这将是一个无穷大的数字,因为这会将0.33333_返回到无穷大.

为什么?

Lou*_*man 11

Double.isInfinite如果值无限长,则不返回true; 如果值本身是无限的(正面或负面),则返回true.

此外,1.0/3.0在基数10中无限长,但在其他基数中不像基数3.

  • @EduardoDennis:你的意思是"无限长"?以十进制格式写入的任何精确计算的分数将以​​无限重复的非零数字串结束,除非缩减形式的分母将是5的幂的2的倍数. (2认同)