[转载]C#中实现强制整除
来源:网络
两个int型数相除(/)为整除,自动舍弃小数部分;而double型相除则不然,结果的值四舍五入。
--------
如果/運算符中兩個操作數中有一個是double/float型,那麼另外一個數據類型數也會自動轉換為double型,結果也會為double型數.
C#中確實沒有整除的操作符,你可以使用操作符重載的方法:
//結果為四舍五入值
public
static
int
operator
/
(
double
x,
double
y)
{
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);
}
两个int型数相除(/)为整除,自动舍弃小数部分;而double型相除则不然,结果的值四舍五入。
--------
如果/運算符中兩個操作數中有一個是double/float型,那麼另外一個數據類型數也會自動轉換為double型,結果也會為double型數.
C#中確實沒有整除的操作符,你可以使用操作符重載的方法:
//結果為四舍五入值
public
static
int
operator
/
(
double
x,
double
y)
{
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);
}
Tag
本文介绍了在C#中如何实现两个double类型数值之间的整除运算,并提供了两种不同的实现方式:一种是返回四舍五入后的结果,另一种则是直接舍弃小数部分,保留整数部分。
1493

被折叠的 条评论
为什么被折叠?



