我想这样 不知道 能不能   
使用 SUBSTRING ()
使用  LASTINDEXOF(“。”)检索到 小数点的 位置的索引号  然后 以索引号 + (你所要的 小数点后的位数)  如50.01 和 50.01003    小数点的位置在 2  开始 检索 从 0到 4   就可以的出   5001 和 5001   就可以确定 它们相等了

解决方案 »

  1.   

    Math.Round(double.Parse(strNo10),2);保留两位小数
    strNo10=Math.Round(double.Parse(strNo10),2).ToString()
      

  2.   

    float f = 10.5001f;
    MessageBox.Show(string.Format("f1:\t{0}\nf2:\t{1}\n", f.ToString("f2"), f.ToString("f4"))); float f1 = float.Parse(f.ToString("f1"));
      

  3.   

    Math.Round(double.Parse(sNum),3);  //精确到小数点后面第三位
    注意Round是奇进偶舍,如果是四舍五入,再加个.000001再取四舍五入
      

  4.   

    可以这样,要精确到第三位并且四舍五入,float i = 123.45678.....
    i += 0.0005;
    然后通过字符串处理取小数点后3位就可以啦!
      

  5.   

    上面的大虾都说了 ,本来还想混点分的,好久没来了,性欲也没了 5555
      
      在提供一种方法,有点蛇足
    using System.Globalization; NumberFormatInfo nfi = new CultureInfo("zh-CN", false).NumberFormat;
     nfi.CurrencyDecimalDigits = 3;//保留三位Double.Parse(myDataRow("Total")).ToString( "N", nfi ) ;
      

  6.   

    另外注意,如查使用Math.Round  当是整数时,下数后的位数就不见啦,所以推荐用我的方法 
      :)