我有一个在 C# 中将 decimal
(十进制数)进行简单转换的方法。代码如下:
private decimal BaseValue
{
get; set;
}
public decimal ConvertedValue
{
get
{
return BaseValue * (365 / 360);
}
}
但是,这个方法不起作用。我认为是因为C#将分数中的数字视为整数处理。所以我可以像这样做(它可以实现相同的效果):
public decimal ConvertedValue
{
get
{
return BaseValue * (decimal)((double)365 / (double)360);
}
}
现在似乎有点过度,但我可以接受。我的主要问题是:
为什么Visual Studio会警告我'Cast is redundant',对于(double)的转换?如果我删除(double)的转换,那么(decimal)的转换就变得多余了。如果我删除它,那么我回到了不起作用的解决方案。帮忙……?