float f = 10 / 12;
MessageBox.Show(f.ToString());问题一:为什么上面运行结果是0,而不是0.83333
问题二:0.833如何保留一位小数

解决方案 »

  1.   

    问题一:因为10和12都是int型,相除得到的结果是int型,所以是0,你可以改成10.0/12
    问题二:不知我只知道float的精度是7位,至于怎么保留小数,同问
      

  2.   

    从数据库获取到的整形前面加上(float)
      

  3.   

    10和12都是INT类型
    先是INT类型的计算得出了结果就是0
    然后再将0赋值给f可将10和12先转换成FLOAT类型
    计算结果为0.83333
    代码如下
    float f = 10f / 12f;
    MessageBox.Show(f.ToString());
      

  4.   

    如果想要显示结果保留一位小数
    代码如下
    float f = 10f / 12f;
    MessageBox.Show(f.ToString("0.0"));
      

  5.   

    int a = 10;
    int b = 12;
    float r = (float)a / b;
    string s = r.ToString("0.0");
      

  6.   


    2.Math.Round(2.1222, 1)
      

  7.   

    10和12都是INT类型
    先是INT类型的计算得出了结果就是0
      

  8.   

    在进行运算时。转换为 float 
    至于只保留一位小数,要格式化显示才得行
      

  9.   

    代码如下            float a = 10;
                float b = 12;
                float c = a / b;
                System.Diagnostics.Debug.Print(c.ToString("0.0")); //输出 0.8
                MessageBox.Show(c.ToString("0.0"));
      

  10.   

    float f = Convert.ToDouble(10) / Convert.ToDouble(12);