Correction to my previous post. The output from the function needs to be modded by 10. so the return should look like this:
return (num/digitpos) %10; Sorry for the incorrect information. > -----Original Message----- > From: Nathan Tenney [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 04, 2002 11:21 AM > To: JDJList > Subject: [jdjlist] Re: Getting digits from an > integer > > > As a side note, Integer arithmetic in Java doesn't > round, it truncates. So, this could be accomplished > more simply just by dividing by a power of 10. For > example, if your number was 123, and you wanted the > first digit, you would divide by 100 (10^2). To get > the 2, you would divide by 10 (10^1), and to get the > 3, you would divide by 1 (10^0). So quite simply, a > function like this one would suffice. > > //This function assumes that pos starts at zero (the > right most > //digit) and goes to n-1, where n is the number of > digits in the > //number. > int getDigit(int pos, int num){ > //It is ok to typecase Math.pow here because we > are dealing > //with integers only. > int digitpos = (int)Math.pow(10,pos); > > if(num > digitpos) > return num/digitpos; > else //There is no number at this position > return -1; > } > --- Jeff Fisher <[EMAIL PROTECTED]> > wrote: > > Thanks, never thought about the simple way. > > > > -----Original Message----- > > From: Joseph Ottinger [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, September 04, 2002 8:12 AM > > To: JDJList > > Subject: [jdjlist] Re: Getting digits from an > > integer > > > > > > You could always try simple math and simple logic. > > Try neatoriffic stuff > > like this: > > > > public int getFirstDigit(int value) { > > int rounded=(value/10)*10; > > int result=value-rounded; > > return result; > > } > > > > >From: Jeff Fisher <[EMAIL PROTECTED]> > > >Reply-To: "JDJList" <[EMAIL PROTECTED]> > > >To: "JDJList" <[EMAIL PROTECTED]> > > >Subject: [jdjlist] Getting digits from an integer > > >Date: Wed, 4 Sep 2002 07:59:02 -0400 > > > > > >I need to be able to get each individual digit > from > > an integer as an > > >integer. I think I should be able to do this by > > using the >> operator, but > > >I just can't seem to figure it out. > > > > > >For example if I have a number 123, I need to get > > 3, then the 2, then the > > >1. > > >It doesn't really matter the order, I just need > the > > digits. I suppose I > > >could convert it to a string and go that route, > but > > that seems like a > > >waste. > > > > > >Does anyone have experience with this or can > point > > me to some > > >examples/information. > > > > > >Thanks > > > > > >Jeff > > > > > >To change your JDJList options, please visit: > > >http://www.sys-con.com/java/list.cfm > > > > > > > > > > > _________________________________________________________________ > > MSN Photos is the easiest way to share and print > > your photos: > > http://photos.msn.com/support/worldwide.aspx > > > > > > To change your JDJList options, please visit: > > http://www.sys-con.com/java/list.cfm > > > > To change your JDJList options, please visit: > http://www.sys-con.com/java/list.cfm > > > > ===== > ---------------------------------- > Nathan Tenney > Alumni Utah State University > [EMAIL PROTECTED] > ---------------------------------- > > __________________________________________________ > Do You Yahoo!? > Yahoo! Finance - Get real-time stock quotes > http://finance.yahoo.com > > To change your JDJList options, please visit: > http://www.sys-con.com/java/list.cfm > > To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm ===== ---------------------------------- Nathan Tenney Alumni Utah State University [EMAIL PROTECTED] ---------------------------------- __________________________________________________ Do You Yahoo!? Yahoo! Finance - Get real-time stock quotes http://finance.yahoo.com To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm
