• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: rounding a float
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rounding a float


  • Subject: Re: rounding a float
  • From: Kyle Moffett <email@hidden>
  • Date: Mon, 1 Dec 2003 20:51:36 -0500

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Dec 01, 2003, at 19:55, Rainer Brockerhoff wrote:
At 19:48 -0500 01/12/2003, Jay Rimalrick wrote:
ok say I wanted to divide 1.23 by 2

i would really behind the scenes I would take 123/2 which would give me 61.5
and which is 61 in integer form ... I lose the .5 which i need it to round up to
62.

I display it as (123/2)/100 which is .61 .... I lose that cent :-(

please correct my understanding above and let me know if I am still not
getting it.

Correct. If you want to round up do: ((123+1)/2)/100. The extra 1 is half of what you're dividing it by (in this case 2).

Or store it as tenths of a cent:

long long money = 1230; /* = $1.230 */

To divide:

long long newmoney = money/divisor
newmoney = 10*( (newmoney+5)/10 );

Or this :-)

typedef long long money_t;
#define MONEY(x) ((x) * 1000)
static inline M_MULT (money_t x, double y) {
return (10*(( x*y + 5 )/10));
}

Then:

money_t my_bank_account = MONEY(10000.00);
money_t my_desired_bank_account = M_MULT(my_bank_account, 1000);
money_t my_post_college_bank_account = M_MULT(my_bank_account, 0.0001);

Cheers,
Kyle Moffett

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)

iD8DBQE/y/Aoag7LSGnFq10RAs19AKCpIVT7BpA5+YI0K+u9qNNHibG0AwCfQsWg
DIpi0uFpsthTGHZ93x+Wb+o=
=QR1l
-----END PGP SIGNATURE-----
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: rounding a float
      • From: "Mike T. Miller" <email@hidden>
References: 
 >Re: rounding a float (From: Rainer Brockerhoff <email@hidden>)

  • Prev by Date: Re: rounding a float
  • Next by Date: dumb button/textfield question
  • Previous by thread: Re: rounding a float
  • Next by thread: Re: rounding a float
  • Index(es):
    • Date
    • Thread