You perform a "cast" on it, like this: float x; int y; y = (int)x; Note that you could possibly lose information doing this, because a float is bigger than an int... In fact, if "x" in the example above was originally 100.3D, after the cast it becomes just 100 without the fractional portion. [This message has been edited by John Lynn (edited April 03, 2001).] [This message has been edited by John Lynn (edited April 03, 2001).]
Do you mean Float to int, float to int , or Float to Integer? Java is case sensitive, so it makes a difference. Howard
<a href="http://www.getlocaldeals.com" target="_blank" rel="nofollow">Free local coupons</a>
Angela Jessi
Ranch Hand
Joined: Nov 27, 2000
Posts: 428
posted
0
Thanks John,
Originally posted by John Lynn: You perform a "cast" on it, like this: float x; int y; y = (int)x; Note that you could possibly lose information doing this, because a float is bigger than an int... In fact, if "x" in the example above was originally 100.3D, after the cast it becomes just 100 without the fractional portion. [This message has been edited by John Lynn (edited April 03, 2001).] [This message has been edited by John Lynn (edited April 03, 2001).]
Its true you lose the decimal value in the conversion, and since you're converting to int that probably isn't an issue, but be aware that the float value you start with may not be accurate for large numbers and int variables store large int values more accurately. This could be an issue with large numbers or medium size numbers where there are lots of conversions and accuracy is required. The code below shows how float does not store large non decimal values accurately :
class c{ { public static void main(String ja[]) int x = 312345678; float y = 312345678f; System.out.println(x ); System.out.println(y );
} } The output is : 312345678 // int value 3.12345664E8 // float value