FROM : John Stiles
DATE : Fri Jun 23 22:33:12 2006
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_removed>)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/jstiles%
> 40blizzard.com
>
> This email sent to <email_removed>
DATE : Fri Jun 23 22:33:12 2006
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_removed>)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/jstiles%
> 40blizzard.com
>
> This email sent to <email_removed>
| Related mails | Author | Date |
|---|---|---|
| Brad Bumgarner | Jun 23, 22:28 | |
| Kevin Wojniak | Jun 23, 22:31 | |
| John Stiles | Jun 23, 22:33 | |
| Brad Bumgarner | Jun 23, 22:40 | |
| Tage Borg | Jun 25, 21:18 |






Cocoa mail archive

