private Expression GetTemperatureValue()
{
if (isImperial)
{
return(Expression.Concat(Expression.Get("value"), Expression.Literal(DEGREES_F))); // For imperial we just need to add "F"
}
Expression value = Expression.ToNumber(Expression.Get("value")); // value --> Number
value = Expression.Subtract(value, Expression.ToNumber(32.0)); // value - 32
value = Expression.Product(value, Expression.ToNumber(5.0)); // value * 5
value = Expression.Division(value, Expression.ToNumber(9.0)); // value / 9
value = Expression.Round(value); // round to nearest int
return(Expression.Concat(Expression.ToString(value), DEGREES_C)); // add C at the end
}