两个int型数相除(/)为整除,自动舍弃小数部分;而double型相除则不然,结果的值四舍五入。
--------
如果/運算符中兩個操作數中有一個是double/float型,那麼另外一個數據類型數也會自動轉換為double型,結果也會為double型數.
C#中確實沒有整除的操作符,你可以使用操作符重載的方法:
//結果為四舍五入值
public
static
int
operator
/
(
double
x,
double
y)
{
double result = x/y;
return System.Convert.ToInt32(result);
}
{
double result = x/y;
return System.Convert.ToInt32(result);
}
//結果為舍弃小數的值,不四舍五入
public
static
int
operator
/
(
double
x,
double
y)
{
double result = x/y;
return System.Convert.ToInt32(result - x%y/y);
}
{
double result = x/y;
return System.Convert.ToInt32(result - x%y/y);
}