网站html动态效果,深圳建设厅网站官网,昆明做网站的个人,优秀个人网站在程序运行时#xff0c;经常需要将一种数值类型进行转换成另一种类型。下面给出了一个合法的转换。数值之间的合法转换上图中有6个实心箭头#xff0c;表示无信息丢失的转换#xff0c;有三个虚箭头#xff0c;表示可能有精度丢失的转换。例如123456789是一个大整数#… 在程序运行时经常需要将一种数值类型进行转换成另一种类型。下面给出了一个合法的转换。 数值之间的合法转换 上图中有6个实心箭头表示无信息丢失的转换有三个虚箭头表示可能有精度丢失的转换。例如123456789是一个大整数它所包含的整数比float类型所能表达的位数要多当把这个整数转换为float时将会得到通道大小的结果但会丢失精度 int a 123456789 ;float f a ;f 1.23456792E8 ;当使用上面两个数值进行二元操作时例如 a f ,a 是整数f是浮点数先要将两个操作数转换为同一种类型然后在进行计算● 如果两个操作数有一个是double类型另一个操作数就会转为double类型● 否则如果其中一个操作数是float类型另一个操作数将会转为float类型 ● 否则如果其中一个操作数是long类型另一个操作数将会转为long类型● 否则两个操作数都会转为int类型 强制类型转换 在有的情况下int类型的值将会自动的转为double类型但另一方面有时候也需要将double转为int类型。在java中允许这种数值之间的转换。当然这样会丢失一些信息。在这种情况下需要进行强制类型转换cast实现这个操作强制类型转换的语法格式是在圆括号给出想要转换的目标类型。后面紧跟待转换的变量名。例如 double x 9.91; int nx(int)x; 这样nx的值为9强制类型转换通过截断小部分将浮点值转为×××。 如果想对浮点数进行四舍五入计算。以便得到最接近的整数。在很多情况下需要使用这种操作方式。那就需要使用Math.round方法 double x 9.91; int nx(int)Math.round(x); 现在nx的值为10.当调用round的时候。仍然需要使用强制转换int。其原因是round方法返回的结果是long类型由于存在信息丢失的可能性。所以只有使用显式的强制类型转换才能将long类型转换为int类型。 转载于:https://blog.51cto.com/9497786/1752446