Guys Convert your data type before doing calculation ..

Here is the Code :
.

Integer i = 12;
Decimal d = i / 5;
System.debug(d);
 
According to you what should be the right answer 2.4? Nopes current answer is 2.

Let me explain to you..


Decimal is a real number, so it can definitely hold 2.4. But the problem is, i is an integer, and 5 is an integer. So Apex will consider the type of i / 5 to be an integer because of that!
 
So the above code can be translated as:
 
Integer i = 12;
Integer temp = i / 5;
Decimal d = temp;
System.debug(d)
 
Now, make sense?
 
Okay, what if we want to fix it? We should do the data conversion first, and the calculation later. Below is the code.
 
 
Integer i = 12;
Decimal decVersion = i;
Decimal d = decVersion / 5; System.debug(d); 
 
This will output 2.4   

0 comments: