Determining the Integral Part of a Decimal or Double
Problem
You need to find the integer portion of a decimal or double number.
Solution
You can find the integer portion of a decimal or double by truncating it to the whole number closest to zero. To do so, use the overloaded static System.Math.Truncate method, which takes either a decimal or a double as an argument and returns the same type:
decimal pi = (decimal)System.Math.PI;
decimal decRet = System.Math.Truncate(pi); // decRet = 3
double trouble = 5.555;
double dblRet = System.Math.Truncate(trouble);
Discussion
The truncate method is new in the 2.0 version of the Framework and helps to "round" out the mathematical capabilities of the Framework. The truncate method has the net effect of simply dropping the fractional portion of the number and returning the integral part. Once floating-point numbers get over a certain size, they do not actually have a fractional part, but have only an approximate representation of their integer portion.
See Also
See Recipe 1.9; see the "System.Math.Truncate Method" topic in the MSDN documentation.
 |