日期:2014-05-20  浏览次数:20703 次

请各位帮忙!!
问题:
E:\java\zuoye>javac Assignl2.java
Assignl2.java:9: 可能损失精度
找到: double
需要: float
  float res=a/b;
  ^
1 错误
源代码如下:
int d=100;
int e=3;
int res1=d/e;
System.out.println("res1="+res1);

------解决方案--------------------
Java code


//我怀疑楼主的出错时源代码是这样
    double d=100;
    double e=3;
    float res1=d/e;
    System.out.println("res1="+res1);
    //但是提问题时,改正确之后才发帖

------解决方案--------------------
float res=(float)a/b; //have a try

------解决方案--------------------
探讨
float res=(float)a/b; //have a try

------解决方案--------------------
1L 2L 正解,补充一点。
整数类型默认int long num=200000L;
浮点类型默认为double float num=3.14F;
如果没有这个F,那么double num=3.14和 float num=3.14 效果一样:都是double类型。
所以
探讨
Java code

//我怀疑楼主的出错时源代码是这样
double d=100;
double e=3;
float res1=d/e;
System.out.println("res1="+res1);
//但是提问题时,改正确之后才发帖