我试图让Celsius
以华氏温度为参数,然后以摄氏温度返回温度
class Exercise1
{
static void Main(string[] args)
{
double fahrenheit;
Console.WriteLine("Enter farenheit: ");
fahrenheit = double.Parse(Console.ReadLine());
double cels;
Exercise1 me = new Exercise1();
cels = me.Celsius(fahrenheit);
Console.WriteLine(cels);
}
public double Celsius(double fahrenheit)
{
double celsius;
celsius = 5 / 9 * (fahrenheit - 32);
return celsius;
}
答案 0 :(得分:2)
您的Celsius
函数中的问题是整数除法。这一行
celsius = 5 / 9 * (fahrenheit - 32);
将永远为0,因为5/9将被分为整数,这将总是给你0.要强制浮点除法,如果你的整数必须是双精度则为1。所以这样做:
celsius = 5.0 / 9 * (fahrenheit - 32);
注意5.0会强制进行浮点除法。
答案 1 :(得分:0)
5 / 9
将被视为整数,因此在这种情况下使整个计算成为整数数学。
意味着您实际上正在获得0 * (fahrenheit - 32)
。
将5和9中的一个或两个强制转换为双精度以强制浮点数学。