This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes division evaluates to zero Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "division evaluates to zero" Watch "division evaluates to zero" New topic
Author

division evaluates to zero

Lisa D'Aniello
Ranch Hand

Joined: Sep 25, 2003
Posts: 42
Ok, this is so stinkin' basic, I'm embarrassed to even post the question, but...

long section1score = Long.valueOf(request.getParameter("score1")).longValue() + Long.valueOf(request.getParameter("score2")).longValue();

double section1perct = (section1score/40)*100;

...Why on earth does this evaluate to zero??? section1score holds a value of 20.

Thanks!
Lisa
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

Integral division always truncates. If you want a floating-point result, you will need to perform the division with a floating-point type. One way to accomplish this is to simply make the literal 40 a double...

(section1score/40.0)*100;


"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
Lisa D'Aniello
Ranch Hand

Joined: Sep 25, 2003
Posts: 42
Thank you!

Goodness, what a silly oversight on my part...

Thanks Again!
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: division evaluates to zero
 
Similar Threads
the world's smallest number?
need help urgentl like yesterdayy
request.getParameter...not taking Long
problem with double data type
Regarding type casting