Java平方根整数运算没有铸造?

前端之家收集整理的这篇文章主要介绍了Java平方根整数运算没有铸造?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Math.sqrt()函数以double作为参数,返回double.我正在使用一个在所有情况下使用完美的方形网格的程序,我需要以整数形式获取平方根.这样做的唯一方法是将参数转换为int,然后返回一个int-casted double?

解决方法

铸造技术比起来看起来好多了.

从int到double的转换是准确的.

指定Math.sqrt,对于正常的正数,返回“最接近参数值的真数学平方根的双值”.如果输入是一个完美的方块int,结果将是一个整数值double,它在int范围内.

类似地,该整数值双重转换为int也是精确的.

效果是铸造技术在您的情况下不会引入任何舍入误差.

如果您的程序否则将受益于使用Guava intMath API,则可以使用它来执行平方根,但是我不会添加对API的依赖关系,以避免转换.

猜你在找的Java相关文章