本文介绍如何将双精度转换为int。
在Java编程中,有double基元值(如82.14 ),但要执行更多操作,需要int值(如82 ),让我们来看看如何在Java中将double转换为int。
有三种方法可以将双精度转换为整型。 以下列出了所有内容。 然后,我们逐一列出。
1,double转换为int使用类型转换
2,将双精度转换为int math.round (
3,将double转换为int使用Double.IntValue ()
1 .将双精度转换为精度-使用类型转换,可以看到双精度是64位的原始值,而精度是32位的原始值。 因此,要将双精度转换为精度,请在双精度值下将其转换为精度。
以下是使用类型转换将双精度转换为int的简单示例:
/* *使用type casting将双精度转换为int的Java程序* */publicclassdoubletointusingtypecasting { publicstaticvoidmain (字符串[ ] ) //typecasedoubletointintvalue=(int ) doubleValue; //82 system.out.println (intvalue : ) intvalue ); }输出:
doubleValue:82.14整数值: 82类型转换的问题是截断小数点后的值。 不做四舍五入。
82.14的情况下,我们得到了int值82,看起来不错。 但是,如果有82.99这样的双精度值,则只得到82,而失去0.99,即1。
计算可能会出现问题。
如果是82.99,则需要四舍五入到83并转换为int。
虽然无法进行类型转换,但可以通过以下解决方案实现:
将双精度转换为整型—使用—math.round(math.round )方法将浮点值舍入为最近的长整型值。 然后,可以将其转换为int类型。
Math.round ) )下面是一个简单的Java程序,演示如何使用方法将双精度转换为int。
/* *使用Java将double转换为int的Java程序* Math.round ()方法* */publicclassdoubletointusingroundmethod (publicstaticvoididod //82.14 system.out.println (doublevalue : ) doublevalue ); 将case双精度类型转换为int int intValue=(int ) math.round(doublevalue ); //82 system.out.println (intvalue : ) intvalue ); System.out.println (; //情况2双下一个双下值=82.99; //system.out.println (nextdoublevalue : ) nextdoublevalue ); //math.round(nextdoublevalue )将返回长整型值的case类型转换为intintnextintvalue=(int ) //math.round(nextdoublevalue ); //83 system.out.println (下一个intvalue : ) nextintvalue ); }输出:
doubleValue:82.14整数值: 82 nextdoublevalue:82.99 next intvalue:83.double转换为int使用Double.IntValue ()以这种方式转换双精度原语的值
此方法在将值转换为int值之前不会四舍五入。 小数点以下的数字被删除。
以下是一个简单的Java程序,说明如何使用Double.IntValue ()方法将double转换为int :
/* * *使用Java将双精度转换为int的Java程序* Double.intValue () */publicclassdoubletointusingintvaluemethod { public static value } 双精度变形器对象doubledoublevalueobject=new double (doublevalue ); 将case双精度型设置为intintvalue=double value object.intvalue (; //82 system.out.println (intvalue : ) intvalue ); }输出:
doubleValue:82.14整数值: 82结论在java中将double转换为int有三种方法:
1.使用doublecasting将double转换为int
此方法强制将双精度值转换为整型,如下所示:
int intValue=(int )数学。 舍入(doubleValue; 但是,小数点以下的值会丢失。 double在转换为int之前无法舍入。
2.将double转换为int —使用 Math.round()
因此,此Math.round ) )方法用于舍入目的。
Math.round ()方法将double值舍入为最近的长整型,并将长整型转换为int,如下所示:
intnextintvalue=(int )数学。 下一个回合(nextDoubleValue;3.将double转换为int —使用 Double.IntValue()
以这种方式,将double值转换为double包装器的类,然后使用其Double.IntValue ()方法获取int值。
双精度变形器对象双精度双精度值对象=新双精度(双精度值); 将case双精度类型转换为intintint value=double value对象。 intValue (; 那样的话,小数点以下的数字也会丢失。
因此,这就是在Java中将双精度转换为int的方法。
欢迎在零度基点学习Java编程技术,来到我10年的Java学习园地。