• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Casting from double to int leading to in correct data for very specific numbers

 
H Und
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We just came across the following thing, which is very interesting and misleading the other program by its outcome. Could you please tell me, what is wrong with the following little program.


public class CastingClass {

static double x = 269.28;
public static void printValue(){
System.out.println("Original Value: " + x);
System.out.println("Before Casting; " + x * 100);
int i = (int) (x * 100);
System.out.println("After Casting: " + i);
}
static public void main(String[] args){
printValue();
}
}



// I am getting the following result, which is not correct.

-------------------------------------------------
Original Value: 269.28
Before Casting, but multiplying with 100: 26927.999999999996
After Casting: 26927

---------------------------------------------------------
 
Henry Wong
author
Marshal
Pie
Posts: 21497
84
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
H Und wrote:We just came across the following thing, which is very interesting and misleading the other program by its outcome. Could you please tell me, what is wrong with the following little program.


public class CastingClass {

static double x = 269.28;
public static void printValue(){
System.out.println("Original Value: " + x);
System.out.println("Before Casting; " + x * 100);
int i = (int) (x * 100);
System.out.println("After Casting: " + i);
}
static public void main(String[] args){
printValue();
}
}



// I am getting the following result, which is not correct.

-------------------------------------------------
Original Value: 269.28
Before Casting, but multiplying with 100: 26927.999999999996
After Casting: 26927

---------------------------------------------------------



Take a look at point #20 here... http://www.coderanch.com/how-to/java/JavaBeginnersFaq
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic