> Given:
> int top_of_dam_messt = 18;
> int perc_hit = 6;
>
> msgnum = (int)(((perc_hit)/(top_of_dam_messt + 1)) + 0.5);
>
> Why does msgnum keep coming out to Zero (0)?
Well, the formula above works out to be (6/19) + .5 = .815...
I don't think casting integers does any rounding, but I could be wrong, so
what is happening is the decimal result is being dropped, and only the
integers on the left of the . are being used for the value of msgnum(which
in this case there are no integers, so the value returned is zero).
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST