> From: Daniel Koepke <dkoepke@california.com> > > On Fri, 7 Feb 1997, Brian Williams - Nashak wrote: > > > question... would > > int percent = (GET_HIT(victim) / dam) * 100; > > always return 100? > > I want it so that it'll go into decimals for the division, and then > > * 100 would be the percent of hp you do in damage.. thanks for > > a response =) > > Integers in C don't permit decimals. So: > > (25 / 2) * 100 > > Will equal (12.5) * 100, and finally 1200. That's probably not the > desired result, no? Now, if he wants to do decimals for the division, 25 / 2 will return an int, but: (int) percent = ( (float) GET_HIT(victim) / (float) dam) * 100.0; Should do what he wants, although I don't know how much stuff will get lost in all the casting (IMHO, it's an ugly way to do it...) Any math experts out there come up with a better way and keep it all int based? Mark +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST