Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How do I round numbers?
How do I round numbers?
✍: Guest
The simplest and most straightforward way is with code like
(int)(x + 0.5)
C's floating to integer conversion truncates (discards) the fractional part, so adding 0.5 before truncating arranges that fractions >= 0.5 will be rounded up. (This technique won't work properly for negative numbers, though, for which you could use something like (int)(x < 0 ? x - 0.5 : x + 0.5), or play around with the floor and ceil functions.)
You can round to a certain precision by scaling:
(int)(x / precision + 0.5) * precision
Handling negative numbers, or implementing even/odd rounding, is slightly trickier.
Note that because truncation is otherwise the default, it's usually a good idea to use an explicit rounding step when converting floating-point numbers to integers. Unless you're careful, it's quite possible for a number which you thought was 8.0 to be represented internally as 7.999999 and to be truncated to 7.
2015-06-26, 1732👍, 0💬
Popular Posts:
How can I check for HTML errors? HTML validators check HTML documents against a formal definition of...
What is the purpose of finalization? The purpose of finalization is to give an unreachable object th...
How to convert a Unix timestamp to a Win32 FILETIME or SYSTEMTIME? The following function converts a...
What is the sequence of UML diagrams in project? First let me say some fact about this question, you...
How do we create DCOM object in VB6? Using the CreateObject method you can create a DCOM object. You...