Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is wrong with this code?



Without really considering the error you're experiencing, I'd say an easier implementation would be
return floor(x * 4.0 + 0.5) / 4.0;


If you want to round down instead of to nearest:
	return floor(x * 4.0) / 4.0;

Or round up this way:
	return ceil(x * 4.0) / 4.0;

You can change the rounding by replacing "4.0" with "1.0 / roundAmount". (e.g. 1.0 / 0.25 == 4.0)


On Jun 23, 2006, at 1:28 PM, Brad Bumgarner wrote:

I am in the process of converting an Applescript Studio app I wrote a couple of years ago to ObjC (as a learning experience). The following code doesn't compile and I'm not sure why. What I want to do is round a float to the nearest .25 (quarter inch). Here is the code:

- (float)roundToNearestQuarter: (float)numberToRound {

float decimalNumber;
int intNumber;

decimalNumber = (numberToRound * 100) + 125;
intNumber = decimalNumber - (decimalNumber % 25); // error: invalid operands to binary %
return intNumber / 100;
}


What do I need to change to make this work?

Thanks,
Brad Bumgarner, CTA
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jstiles% 40blizzard.com


This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >What is wrong with this code? (From: Brad Bumgarner <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.