my dog learned polymorphism*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes float & JQ+ -- VELU 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 "float & JQ+ -- VELU" Watch "float & JQ+ -- VELU" New topic
Author

float & JQ+ -- VELU

kaushik banerjee
Ranch Hand

Joined: Mar 11, 2001
Posts: 56
Hi,
Velu's notes & JQ+ says that line 3 will return false but it returns true when compiling with jdk1.3 . why is it so?
public class vo
{
public static void main(String[] a)
{
float f=1.0f/3.0f;
System.out.println(f);
System.out.println(f*3.0f);
System.out.println((f*3.0f)==1.0f);//3
}
}
i guess this is because jdk1.2 gives that output. But in the actual exam what should be the correct answer to the question ?
Thx in advance
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12755
    
    5
The point is that you can't rely on exact representation of repeating fractions and decimal representations in floating point primitives. Just watch out for assuming that == will always work as you expect after a series of floating point operations.
Bill
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: float & JQ+ -- VELU
 
Similar Threads
precision of double and float
Error with JQPlus Question
Doubt
Marcus Q1
Floating Confusion