This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Doubt about a float value Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Doubt about a float value" Watch "Doubt about a float value" New topic
Author

Doubt about a float value

Justen Hill
Greenhorn

Joined: Nov 07, 2007
Posts: 5
int a = 8;
int b = 3;
float c = a++/b--;
System.out.println(c);

Why does this produce 2.0? Shouldn't the result be able to handle a more accurate answer?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61084
    
  66

Think about at what point in the calculatiuon of your expression the implicit conversion from int to float occurs.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11250
    
  16

I would say that that is pretty darn accurate. In fact, I would say it is precise.

what would you get if you did this?

int a = 8;
int b = 3;
int c = a++/b--;
float d = c;
System.out.println(d);


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Justen Hill
Greenhorn

Joined: Nov 07, 2007
Posts: 5
I see it now. The division of the ints occurs first, then the result is stuffed in a float.

Is it actually a float since it doesn't have an 'f' assignment or is it a double?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Doubt about a float value