我创建了一个将摄氏度转换为华氏度的类,反之亦然,这就是我的编码方式:
public class TempConverter
{
public double ValueToBeConverted { get; set; }
public TempConverter(double valueToBeConverted)
{
ValueToBeConverted = valueToBeConverted;
}
public TempConverter()
{
}
public double ConvertToFahrenheit()
{
return 9 / 5 * ValueToBeConverted + 32;
}
public double ConvertToCelsuis()
{
return 5 / 9 * (ValueToBeConverted - 32);
}
}
但是 ConvertToFahrenheit() 返回 32,而无论我传递什么值,另一个方法都返回 0。
我在 Main 中所做的只是实例化一个 TempConverter 对象并将要转换的值传递给构造函数。我确实放置了一些断点并且 ValueToBeConverted 确实获得了我传递给构造函数的值,这最终使我相信问题出在 TempConverter 类的方法中
最佳答案
因为你在制作 integer division 。将您的代码更改为
public double ConvertToFahrenheit()
{
return 9.0 / 5 * ValueToBeConverted + 32;
}
public double ConvertToCelsuis()
{
return 5.0 / 9 * (ValueToBeConverted - 32);
}
关于c# - 属性的算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133867/