⑴ java中怎么把浮点数转变成整数只保留整数部分
两种方式:
1、通过强制类型转换
float a=1.1f;//定义一个浮点变量a
int b = (int)a;//这里使用(int)方式对float进行强转,结果为12、通过转换为字符串,在截取整数部分
float a = 1.1f;//定义一个浮点变量a
String str = String.valueOf(a);//浮点变量a转换为字符串str
int idx = str.lastIndexOf(".");//查找小数点的位置
String strNum = str.substring(0,idx);//截取从字符串开始到小数点位置的字符串,就是整数部分
int num = Integer.valueOf(strNum);//把整数部分通过Integer.valueof方法转换为数字
⑵ java怎么把double四舍五入
(1)首先我们想到用先乘以100取整后再除以100.0这种做法:
System.out.println(Math.round(4.015*100)/100.0);
执行结果为4.01,显然没有达到我们想要的结果。
(2)那用java.text.DecimalFormat呢?
System.out.println(new java.text.DecimalFormat("0.00").format(4.015));
System.out.println(new java.text.DecimalFormat("0.00").format(4.025));
执行结果都为4.02。
(3)用java.math.BigDecimal.
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
double abc = 4.015; //4.025
System.out.println(new java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());
结果:4.01 (当使用4.025时结果为4.03)
看来还是达不到效果。
(4)用下面的方法:
System.out.println(Math.round(4.015*100 + 0.5)/100.0);
⑶ java中,强制转换符把float转换为int时,按四舍五入,还是直接丢掉小数部分
直接舍掉小数 比如float是4.7 转换成int 后是4 而不是5 要四舍五入的话转换前先加上0.5
比如 int i ; double j = 4.7; i = (int)(j+0.5);
⑷ java中如何取整
有float类型的
向上取整:Math.ceil() //陵绝只要有小数都+1
向下取整:Math.floor() //不取小数
四舍五入尺世姿:Math.round() /返野/四舍五入
⑸ java中如何取整
通过(int)方式进行取整,(int)是强转,强制把其他类型转换成整型。
语法:
int b =(int)浮点型变量;
例如:
doublea=1.22;
intb=(int)a;//强转double为整型。,取整,结果为1
⑹ 关于java double 小数向上取整处理
public static double getCeil(double d,int n){
BigDecimal b = new BigDecimal(String.valueOf(d));
b = b.divide(BigDecimal.ONE,n,BigDecimal.ROUND_CEILING);
return b.doubleValue();
}
⑺ 在JAVA中把double类型转换成long类型,丢失数据位是什么,为什么
double是浮点型,long是整数型,以上语句转换时小数部分没有了,这就是丢失。javadouble转long型是取整运算,用Double封装下基本类型double,再调用longValue方法。Double(doublevalue)
longlongValue(),将此Double值作为long类型返回(通过强制转换为long类型),详细步骤:
1、首先在visualstudio中用c#语言进行类型转换,新建项目命名"longdouble",项目结构图如下。
⑻ Java中怎么把浮点数转变成整数只保留整数部分
通过转换为字符串,再截取整数部分:
float a = 1.1f;//定义一个浮点变量a
String str = String.valueOf(a);//浮点变量a转换为字符串str
int idx = str.lastIndexOf(".");//查找小数点的位置
String strNum = str.substring(0,idx);//截取从字符串开始到小数点位置的字符串,就是整数部分
int num = Integer.valueOf(strNum);//把整数部分通过Integer.valueof方法转换为数字
扩展资料:
Java的浮点类型有两种:float和double。
Java的浮点类型有固定的表数范围和字段长度,字段长度和表数范围和机器无关,double类型代表双精度浮点数,float类型代表单精度浮点数。
Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示浮点数,对于float型数值,第1位是符号位,接下里8位表示指数,再接下来的23位表示尾数;对于double类型数值,第一位也是符号位,接下来的11位表示指数,再接下来的52位表示尾数。