错误CS0266无法将类型'double'隐式转换为'int'

时间:2019-01-12 01:50:24

标签: c#

我想制作一个程序,将华氏温度转换为开氏温度,但是在转换中,您需要添加273.15。我当前的转换代码是


    int finalTemp = (temp1 - 32) * 5 / 9 + 273.15;

但是编译器会返回:

  

错误CS0266无法将类型'double'隐式转换为'int'。存在显式转换(您是否缺少演员表?)

如何使273.15识别为小数?

1 个答案:

答案 0 :(得分:3)

出现此错误的原因是因为finalTemp的类型为int,并且只能容纳整数。如果temp1doubleint,则可以执行以下操作:

double finalTemp = (temp1 - 32) * 5 / 9 + 273.15;

此代码将以double的形式显示温度,(可以保留小数)

但是,如果finalTempint,就像您最初使用的那样,则不可能将其保存到

  

将273.15识别为十进制。