If you divide 2 / 3
, it should return 0.66666666666666667
. Instead, I get 0.0
in double value type and 0
in decimal.
My purpose is to divide even (e.g. 2 / 3
) and round to 1 always to the nearest.
Any help?
If you divide 2 / 3
, it should return 0.66666666666666667
. Instead, I get 0.0
in double value type and 0
in decimal.
My purpose is to divide even (e.g. 2 / 3
) and round to 1 always to the nearest.
Any help?
You're doing integer division, from the sounds of it. Try this:
decimal result = 2.0 / 3.0;
Or even force it to decimals for all of the operations:
decimal result = 2.0m / 3.0m;
This should give you a result more like you expect.
Doing 2/3 is integer division which will not return the decimal place of the division. To get .666666667 you will need to do 2.0 / 3.0 which are both doubles to get the expected answer.