int intWidth=600;
int Width=1356;
int Height=512;
int intHeight = (intWidth / Width);
int intHeight = (intWidth / Width) * Height;
结果都是0
为什么除数小于被除数时 结果就是0
但我希望要的结果是 一个整数
谢谢

解决方案 »

  1.   

    int intHeight = (intWidth / Width);
    int intHeight = (intWidth / Width) * Height;double intHeight = (intWidth / Width);
    double intHeight = (intWidth / Width) * Height;

      

  2.   


    int型的 除以小的 当然强转0了  换成double
      

  3.   

    double intHeight = Convert.ToDouble((intWidth / Width)) * Height;
    刚刚错了
      

  4.   

    首先明确一下除法中的名称:被除数指的是分子,除数指的是分母,你说反了。
    int / int =int
    所以5/6=0, 5/6*100=0你可以写成 xxx = 5*1.0/(6*1.0),就是在分子分母相除之前,各乘以个1.0
      

  5.   


    int a = Math.Round(intHeight);
    int b = Math.Round(intHeight);
      

  6.   

    呵呵 int是整型,intWidth(小) / Width(大)当然等于0了:(intWidth/ Width)* Height不是就等0*Height=0吗?呵呵
      

  7.   

    都是整型嘛,被除数为整型,除出来的还是整型,小数就没了,你把被除数转化为double型就可以了
      

  8.   

    C#语法规则:整行/整行=整行
    都换成double的就行了
      

  9.   

    int 你认为能获取到小数么?
      

  10.   

    int intHeight = (intWidth* Height / Width) ;