C#中带小数的整除问题
两个double类型的数(d1,   d2),   如何才能知道d1是否整除d2?   
 用过了 "/ ",   也试过了 "% ",   都不行,   主要是它的位数问题   
 例如,   以下的一个函数用来检查d1是否整除d2   
 public   bool   check(double   d1,   double   d2) 
                         { 
                                     bool   result   =   false; 
                                     int   tmp   =   0; 
                                     double   tmp2   =   0d; 
                                     tmp   =   (int)(d1   /   d2); 
                                     tmp2   =   d2   *   tmp; 
                                     if   (tmp2   ==   d1) 
                                     { 
                                                 result   =   true; 
                                     }   
                                     return   result; 
                         }   
 这个函数,   在d1=15.85,   d2=0.05时,   tmp2=15.85000000000001   
 有什么好的方法可以检查一个数是否整除另一个数?
------解决方案--------------------if (Math.Truncate(double,result)==resulet); 
 {   
 } 
------解决方案--------------------public static System.Double IEEERemainder ( System.Double x , System.Double y ) 
     System.Math 的成员   
 摘要: 
  返回一指定数字被另一指定数字相除的余数。       
 小于一定数值的就可以认为余数是0了。 
 d1=15.85, d2=0.05时,结果是10的-15次方
------解决方案--------------------public bool check(double d1, double d2) 
 		{ 
 			bool result = false; 
 			double tmp =d2; 
 			//d2的小数位数 
 			int i=(Convert.ToString(d2).Length- Convert.ToString(d2).IndexOf( ". ")-1); 
 			while(d2 <d1) 
 			{ 
 				d2=d2+tmp; 
 			} 
 			//只取小数位后I位 
 			string newstr=Convert.ToString(d2).Substring(0,Convert.ToString(d2).IndexOf( ". ")+1+i); 
 			if (Convert.ToDouble(newstr) == d1) 
 			{ 
 				result = true; 
 			}   
 			return result; 
 		}