通过Math类将double转换成整数,如果是要转换类型可以通过强制类型转换实现,如下图:
知识拓展:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
一个变量 double x;
[java] view plain copy。
不进行四舍五入操作:
(int)x
进行四舍五入操作:
Integer.parseInt(new java.text.DecimalFormat("0").format(x))。
1.强制转换
double a=3.14
int b=(int)a
2.转换为String后转换为int。
double d = 1.233;。
String s1 = String.valueOf(d);。
String s2 = s1.substring(0, s1.indexOf(".")) + s1.substring(s1.indexOf(".")+1);。
int i = Integer.parseInt(s2);。
希望能帮到你,还望采纳哟
int x=(int) y
y是double类型,但是会损失精度,可以使用四舍五入得到最接近的整数.。
int x=(int) math.round(y)。
另外,你觉得四舍五入之后就是整数了,不需要用到(int)强制转换是错误的.。
因为round会转换之后返回的结果的long类型,所以还是需要强制转换为(int)类型.。
1、可以借助强制类型转换及循环来完成转化。比如double型数组darray转换为int型数组iarray的代码如下:
double[] darray = new double[10];//darray数组声明。
//...//darray数组初始化省略。
int iarray=new int[darray.length];//声明int 数组iarray,长度同darray的长度。
for (int i = 0; i < darray.length; i++){。
iarray[i] = (int)darray[i]; //位置1。
2、先生成一个double的外覆型Double,再用Double的intValue()得到int,这里代码部分大部分相同,只需将位置1的代码改为。
iarray[i] = (new Double(darray[i])).intValue();。
3、当然也可以先将double型数据先转换为String类型,然后再转换为int类型,如位置1代码修改如下:
String s1 = String.valueOf(darray[i]); 。
String s2 = s1.substring(0, s1.indexOf("."));。
iarray[i] = Integer.parseInt(s2);。