java 中double型转化成int型
然后我想以 int型数据将x打印出来,前提是不从新定义一个新的变量,仅仅是对x进行操作,请高手们帮帮忙,写一个简单的程序段 展开
public int stringToInt(String string){
int j = 0;
String str = string.substring(0, string.indexOf(".")) + string.substring(string.indexOf(".") + 1);
int intgeo = Integer.parseInt(str);
return intgeo;
}
扩展资料:
关于Java中数据类型及其之间的转换
一、数据类型之间的转转换分为以下几种情况:
1、低级到高级的自动类型转换;
2、高级到低级的强制类型转换(会导致溢出或丢失精度);
3、基本类型向类类型转换;
4、基本类型向字符串的转换;
5、类类型向字符串转换
二、转换规则
1、只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型。
2、只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型。
3、只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型
4、两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,再做其它类型的自动转换。对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
int型数据的最大值只有0xFFFFFFFF,如果double的值大了,数据溢出在所难免。
(int)x
进行四舍五入操作:
Integer.parseInt(new java.text.DecimalFormat("0").format(x))
public class WriteTxt {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
double x = 2.2;
System.out.println((int)x);
}
}
double x = 234.33;
System.out.println((int) x);