操作方法
一个浮点数可以强制转换为整数,但是,小数位会被简单截断,不遵循四舍五入的规则。 ---------------------------- public class Test { public static void main(String[] args) { double x = 9.56; int n = (int)x; System.out.println(n); } }
输出结果。 ---------------------------- Microsoft Windows [版本 6.1.7600] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Windows\System32>cd f:\JavaStudy C:\Windows\System32>f: f:\JavaStudy>javac Test.java f:\JavaStudy>java Test 9 f:\JavaStudy>
当一个浮点数转换为整数时,想要让其遵循四舍五入的规则,应使用以下代码。 ---------------------------- public class Test { public static void main(String[] args) { double x = 9.56; long n = Math.round(x); System.out.println(n); } }
输出结果。 ---------------------------- f:\JavaStudy>javac Test.java f:\JavaStudy>java Test 10 f:\JavaStudy>
整数强制转换为浮点数,可能存在丢失精度的问题。以下代码,123456789是一个很大的整数,float类型装不下。 ---------------------------- public class Test { public static void main(String[] args) { int i = 123456789; float j = (float)i; System.out.println(j); } }
输出结果。 ---------------------------- f:\JavaStudy>javac Test.java f:\JavaStudy>java Test 1.23456792E8 f:\JavaStudy>
char类型和int类型相互强制转换,往往用在字符和ascii码之间的转换。 ---------------------------- public class Test { public static void main(String[] args) { char i = 'A'; int j = (int)i; System.out.println(j); } }
输出结果。 ---------------------------- f:\JavaStudy>javac Test.java f:\JavaStudy>java Test 65 f:\JavaStudy>