my dog learned polymorphism*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Dividing floats Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Dividing floats" Watch "Dividing floats" New topic
Author

Dividing floats

John Lynn
Greenhorn

Joined: Dec 29, 2000
Posts: 15
Why would:

print out "2.0" instead of "2.6" ??
Rob Ross
Bartender

Joined: Jan 07, 2002
Posts: 2205
a and b are both ints, so the division that is performed is an integer division, in which only the integer portion of the result is kept. After the integer division, the result is converted to a float and assigned to the left-hand-side variable.
If you want to use floating-point division, you can make your arguments (a&b) floats, or manually cast one of the operands to a float, like this:

float f = (float)a/b;
This will cause a to be converted to a float, and thus so will b, and the division will be a floating-point operation and maintain the non-integer portion of the result.


Rob
SCJP 1.4
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Dividing floats
 
Similar Threads
Floats
doubt regarding division
Need help with a++/b-- expression
converting a float to an integer?
Using Postfix notation......