I\'m trying to write a program that converts temperatures expressed in degree Fahrenheit to degree Celsius. The user enters a Fahrenheit value and the program prints out the
When you operate on two integers, results is not converted to double. It remains as int only. To get the result into double, at least one of the numbers should be double. e.g.
double ft = 5.0/9; //double
double ft = 5/9.0;//double
double ft = 5.0/9.0;//double
While
double ft = 5/9; //int 0
Please refer the Floating Point Operations Specification for details.
double ft = 5 / 9 ;
The line above doesn't do what you think it does.
Because 5
and 9
are both integers, it does integer division.
The fact that you're assigning the result to a double doesn't matter, if both operands are integers, you will get integer math.
So ft
is always 0
, so cel
is always 0
Try
double ft = 5.0/9.0;
5 / 9
is an integer division, so it'll return a 0
even though you're assigning it to a double
.
Try 5.0 / 9
.