int yy;
yy=2320/86400*(150000-200-9000);测试的yy等于零??
float和double型都是这个结果

解决方案 »

  1.   

    所有的计算数据都是整形,过程中都会取整
    double yy;
    yy=(double)2320/86400*(150000-200-9000);
      

  2.   

    如果你要得到小数部分,那么你要保证你的算式里至少有一个浮点数(带小数的)。
    double yy;
    yy=(double)2320/86400*(150000-200-9000); 
    或者yy=2320./86400*(150000-200-9000); 都行!而如果你定义
    int yy;
    那么最后你得到的仍然是0,因为最后又取了整!