【发布时间】:2017-03-13 00:52:30
【问题描述】:
return Math.Ceiling((_BytesReceived / _TotalBytesToReceive) * 100);
_BytesReceived 是 int,_TotalBytesToReceive 也是 int。
错误是:
严重性代码描述项目文件行抑制状态 错误 CS0121 调用在以下方法或属性之间不明确:“Math.Ceiling(decimal)”和“Math.Ceiling(double)”DownloadMultipleFiles
完整功能:
public int ProgressPercentage
{
get
{
if (_TotalBytesToReceive > 0)
{
return Convert.ToInt32(Math.Ceiling((_BytesReceived / (double)_TotalBytesToReceive) * 100d));
}
else
{
return -1;
}
}
}
【问题讨论】:
-
当你在末尾输入
100m而不是仅仅 100 时会发生什么 -
@huseyintugrulbuyukisik 然后我收到此错误:严重性代码描述项目文件行抑制状态错误 CS0266 无法将类型“十进制”隐式转换为“整数”。存在显式转换(您是否缺少演员表?) DownloadMultipleFiles
-
您需要将两个数字之一转换为加倍,如果不这样做,您将始终得到 0 作为答案(它也解决了您的问题)