有人可以帮我这里发生什么吗?为什么Java编译器从以下示例返回869?
package week1;
public class PercentagePrinter {
public static void main(String[] args){
double probability = 8.70;
int percentage = (int)(100 * probability);
System.out.println(percentage);
}
}
使用double会丢失精度,例如当您保持8.7的值时,它表示为类似于8.6999...。因此,在乘法后将值转换为int时,您只会得到8.69。您可以使用断点并probability
通过执行程序查看的实际值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句